[英]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.