我的文件目录树如下所示:
my_repo
├── experiments
│ ├── foo.py
│ └── __init__.py
└── tests
├── baz.py
└── __init__.py
在baz.py
内部,我尝试
from experiments.foo import FooExperiment
但我知道
*** ImportError: No module named experiments.foo
当我从终端(Mac OSX 10.9)打开python并运行
from experiments.foo import FooExperiment
类已正确导入。怎么回事?请帮忙。
在这两种情况下,sys.path
完全相同,除了当我在baz.py
中时,包含当前路径(到baz.py
)。是的,/path/to/my_repo
也在我的sys.path
里。
编辑:我的问题与冲突的egg文件有关,因此重新安装就成功了(如下所示)。接受奥斯汀·马歇尔的回答,因为这是解决这个问题的一个可行方案。
pip uninstall my_repo
python setup.py develop --user
我通常使用以下命令将path附加到sys.path:
与
experiments
不在PYTHONPATH
中,也不使用标准的setuptools技术安装。我可以复制您的问题,这可以通过将my_repo
放入PYTHONPATH
来解决:当指定
PYTHONPATH
而不是PATH
时,最后一行没有输出或错误相关问题 更多 >
编程相关推荐