我在Ubuntu 12.04虚拟机上安装了Enthought Python Distribution(即python 2.7),如果能识别通过synaptic包管理器导入的模块,它将非常有用。目前,这些只能由系统提供的python安装识别(非常可以理解)。由于两个蟒蛇都是2.7,我的EPD安装是否可以识别系统模块?感谢。
答案 0 :(得分:4)
不支持使用带有EPD的突触安装模块。当然,您可以尝试向PYTHONPATH添加特定的包,但这可能会产生冲突,尤其是对于包含可能与稍微不同的Python版本链接的C扩展的模块。
目前,在EPD中安装python包的推荐方法是使用enpkg
工具。尝试enpkg -s <packagename>
查看您所需的包是否在Enthought的存储库中。如果您还没有,则应通过运行enpkg enstaller
来升级enpkg,并通过运行enpkg --userpass
输入您的EPD凭据。然后,您应该可以使用enpkg <packagename>
(Using enpkg to update EPD packages)安装支持的软件包。
如果您要查找的软件包不在Enthought的存储库中,您可以使用enpkg pip
安装pip,并使用该工具在EPD中安装软件包。
或者,您可以下载所需软件包的源代码并使用python setup.py install
进行安装,假设软件包具有setup.py。
注意:如果在不使用enpkg的情况下将软件包安装到EPD中,则应确保首先删除软件包的EPD版本(enpkg --remove <packagename>
)。如果您以后选择使用enpkg安装软件包,则应首先使用备用方法(Using non-EPD package installers such as pip)删除您安装的版本。
即将推出Enthought的GUI包管理器,目前处于测试阶段。
答案 1 :(得分:3)
有同样的问题.Enthought发行版使用完全不同的python路径和库前缀,而不是磨机系统分布的运行。因此,如果你使用pip,pip将安装在你的系统路径上,而不是你的EPD路径。 解决方案:
1)获取您的EPD前缀:enpkg --path
2)在某处写下来
3)如果您点击安装,请输入:
pip install --install-option="--prefix=$PREFIX_PATH" package_name
由Ian Bicking撰写Install a Python package into a different directory using pip?。
答案 2 :(得分:2)
之前的回答可能已经过时了。在版本4.6.3上使用enpkg --env获取前缀
$ enpkg --version
enstaller version: 4.6.3
$ enpkg --env