[英]python Import module from a different directory structure
common/src/validation/file1.py
在common / src / validation /和common / src /文件夾中定義了“ _init_ ”。
common/test/validation/file2.py
common/test/validation/case/file3.py
在file2.py和file3.py中,我想從file1.py導入類。
我在file2.py和file3.py中給出以下行:
from file1 import class1
我目前收到錯誤消息:
#ImportError: No module named file1
sys.path.append應該是什么?
您基本上可以將PYTHONPATH更改為common
並從那里運行。 然后引用與此相關的所有導入路徑。
像這樣:(假設您是共同的,而您的主要對象在file3.py中)
PYTHONPATH=. python test/validation/case/file3.py
確保在導入的任何目錄中都有__init__.py
文件(此文件的內容無關緊要)
我通常喜歡在每個項目的根目錄中放入一個run.sh
文件,其中包含該行的某些版本(指向我的主要函數所在的位置)。
它通常將包含一個簡單的內容,例如:
#!/bin/bash
source some_env/bin/activate # start the relevant environment if you have one
PYTHONPATH=. python src/main.py # set PYTHONPATH and run
deactivate # exit the relevant environment if started one
另一個選擇是執行此操作,但並不那么優雅。
如果要從文件夾導入文件,則應有一個名為
__init__.py
在該文件夾中(也可以是空白文件)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.