我正在尝试从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.pyImportError:没有名为subdirectoryOne.config`的模块
(我想它仍然会在directory
文件夹中出现)
答案 0 :(得分:0)
您几乎不需要更换任何薄片。
(公共)landpacks-MacBook-Pro:qx frank $树
.
├── __init__.py
├── __init__.pyc
├── a
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── config.py
│ └── config.pyc
└── b
├── __init__.py
└── test.py
使用您的__init__.py
和subdirectoryOne
创建一个subdirectoryTwo
,就像这里我使用a
和b
一样。然后在file.py
的开头添加一些代码。我在这里将其命名为test.py
。代码是:
import sys
sys.path.append("..")
from project.a.config import myconf
print(myconf)
您可以看到我是通过project.a.config
而不是a.config
导入的。因为您在项目下运行代码。
更新
我的a/config.py
简单易用:
(public)landpacks-MacBook-Pro:qx frank$ cat a/config.py
myconf='127.0.0.1'
答案 1 :(得分:0)
解决方案之一(不是最佳解决方案)是将PYTHONPATH
设置为您的directory
:
$ export PYTHONPATH='/absolute/path/to/directory'