簡體   English   中英

如何從另一個目錄運行模塊?

[英]How to run a module from another directory?

我的計算機上有一個python 2.7.15項目(我知道,是出於遺留原因),我可以從那里運行不同的文件作為模塊:

cd /home/me/code/project
python -m path.to.module

這很好。 問題是我正在從另一個目錄中的另一個程序調用這些模塊。 如果我設置了PYTHONPATH這應該可以工作。

export PYTHONPATH=/home/me/code/project
cd /home/me/code/controller
python -m path.to.module

但是,這樣做失敗:

No module named path.to.module

這直接在命令行上失敗,因此與我從另一個程序調用它無關。

如果PYTHONPATH不成功,如何從另一個目錄調用此模塊?

PYTHONPATH的問題是它更改了sys.path,這是python解釋器在導入模塊時搜索模塊的方式。 這與調用python運行腳本不同。 不幸的是,我不知道如何解決這個問題。 一種解決方案是運行bash腳本來為您更改以下目錄:

創建一個名為runModule.sh的bash腳本

#!/bin/sh
python -m some_module
cd path/to/other_module
python -m other_module

使它可執行

chmod -x ./runModule.sh

然后運行

./runModule.sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM