我想重新访问PYTHONPATH vs. sys.path中指定的问题。基本上,它关注的是开发一个软件包,如:PYTHONPATH与sys.path(RELOADED)
Project
setup.py
package
__init__.py
lib.py
script.py
假设script.py
确实from package.lib import foo
它调用时工作:
python -m package.script
从那里setup.py
坐在目录,而不是打电话时(在Windows, CPython的2.7):
.\package\script.py
ImportError: No module named package
在第一种情况下,当打印sys.path
第一个条目是''
,但在第二种情况下,第一项是script.py
所在的绝对路径。当然在这种情况下,它对package
并不知情,导入失败。在Explorer中双击时也是如此。
original stackoverflow question建议通过setup.py develop
安装软件包。但是,在目前setuptools 3.5(我知道+ distutils/setuptools重命名混淆)这个选项甚至没有记录(我有setuptools 3.4.x,但没有尝试它)。
任何人都可以向我指出什么建议(“...只有这样做的明显方法......”)procedere是在窗口上(对于CPython 2.7,但也有Python 3),双击该文件并让它工作。相对进口?
有关sys.path如何工作的更多信息,请参见http://stackoverflow.com/a/38403654/850326 – djhaskin987
针对“no module named”错误:http://stackoverflow.com/questions/23417941/python -import-error-no-module-named-does-exist/40883739#40883739 – JinSnow