![](/img/trans.png)
[英]Importing module from parent folder subfolder to run in scripts subfolder [siblings]
[英]pyImporterror running subfolder python scripts from the parent folder
我試圖從directory
文件夾中運行:
$ python subdirectoryTwo/file.py
命令(Python 2.7)。
文件夾結構:
-directory
-subdirectoryOne
__init.py__
config.py
-subdirectoryTwo
__init.py__
file.py
我的file.py
具有: from subdirectoryOne.config import config
file.py
from subdirectoryOne.config import config
但是我得到一個錯誤:
file.pyImportError:沒有名為subdirectoryOne.config的模塊
(我猜它仍然看起來在directory
文件夾中)
您幾乎不需要更換任何薄片。
(公共)環境包裝-MacBook-Pro:qx坦率$樹
.
├── __init__.py
├── __init__.pyc
├── a
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── config.py
│ └── config.pyc
└── b
├── __init__.py
└── test.py
用您的subdirectoryOne
和subdirectoryTwo
創建一個__init__.py
,就像這里我使用a
和b
。 然后在file.py
的開頭添加一些代碼。 我在這里將其命名為test.py
代碼是:
import sys
sys.path.append("..")
from project.a.config import myconf
print(myconf)
您可以看到我是通過project.a.config
而不是a.config
。 因為您在項目下運行代碼。
UPDATE
我的a/config.py
很簡單:
(public)landpacks-MacBook-Pro:qx frank$ cat a/config.py
myconf='127.0.0.1'
解決方案之一(不是最佳解決方案)是將PYTHONPATH
設置為您的directory
:
$ export PYTHONPATH='/absolute/path/to/directory'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.