我在虚拟环境中使用 python 3.4.2。我已将 pydev 设置为将虚拟环境解释器与虚拟环境的 site-packages 目录结合使用。
当我运行虚拟环境的 python 版本时,命令行一切正常。我可以正确导入所有内容。
但是,有时即使 PyDev 是为虚拟环境配置的,我也会遇到问题。
我遇到的一个大问题是 PyDev 没有看到 zope.deprecation。这可能是由于在 site-packages 中,zope 目录没有 init.py 文件。事实上,创建此文件使 PyDev 看到 zope.deprecation。
在 site-packages 目录中,zope.deprecation 包确实附带了 zope.deprecation-4.1.1-py3.4-nspkg.pth 和 zope.deprecation-4.1.1-py3.4.egg-info,我假设应该有助于正确设置。
但 PyDev 似乎不明白。
(我对 newrelic 也有类似的问题......它的 site-packages 下的目录结构不是“规范的”,但它还附带一个 .pth 文件来帮助解释器了解在哪里可以找到东西)。
我的问题是如何让 PyDev 正确理解站点包环境?
手动触摸 init.py 完全是黑客行为......
谢谢!
最佳答案
PyDev 不支持命名空间包。这是错误报告 https://sw-brainwy.rhcloud.com/tracker/PyDev/151
顺便说一句,PyCharm(出色的 Python IDE)可以support自 2012 年以来的命名空间包 –
PyCharm has been updated to support the new language features of Python 3.3, including the new namespace packages.
关于python - zope.depectation : solve import issues with pydev, .pth 文件和站点包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27052921/