使用pip在两个不同的位置安装相同的包(Python)
出于与工作相关的原因,我试图将Python 2.7.8直接安装到我的机器上(MacOSX10.9) 我目前正在Enthoud Canopy中运行Python2.7.6,我真的不想触及那里现有的库 我的问题是,我想使用pip为新的Python实例化安装软件包,但目前pip与EnThound Corporation捆绑在一起,因此它只在EnThound Corporation的站点软件包路径中安装软件包使用pip在两个不同的位置安装相同的包(Python),python,macos,pip,Python,Macos,Pip,出于与工作相关的原因,我试图将Python 2.7.8直接安装到我的机器上(MacOSX10.9) 我目前正在Enthoud Canopy中运行Python2.7.6,我真的不想触及那里现有的库 我的问题是,我想使用pip为新的Python实例化安装软件包,但目前pip与EnThound Corporation捆绑在一起,因此它只在EnThound Corporation的站点软件包路径中安装软件包 我首先尝试了以下方法: pip安装--install option=“--prefix=$pre
Requirement already satisfied (use --upgrade to upgrade): scikit-learn in ./Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages
我真的更愿意在一个单独的文件夹中安装新版本的scikit learn。有人有什么建议吗?您可以使用
virtualenv
创建一个自包含的python环境,该环境可以与常规python安装分开配置和使用
创建virtualenv(对于旧版本的virtualenv,您希望在virtualenv
之后立即包含无站点包
):
进入virtualenv并激活它:
$ cd limitedenv/
$ source bin/activate
(limitedenv)$
使用pip安装您需要的软件包,就像您在全球范围内所做的那样:
(limitedenv)$ pip install scikit-learn
Downloading/unpacking scikit-learn
Downloading scikit-learn-0.15.0.tar.gz (7.0MB): ...
scikit-learn
现在将安装在limitedenv
内部,只要该环境处于活动状态,调用python或pip就会像这是您自己的、隐蔽的python安装一样
您可以通过调用停用退出虚拟环境:
(limitedenv)$ deactivate
$
这允许您拥有不同版本的python、不同版本的库和基于项目需要的不同配置virtualenv
是一个非常有用的工具 你能创建一个virtualenv并在其中安装一些东西吗?我是一个noob,所以你能准确地写出我需要输入的内容吗?谢谢我是应该直接将文本块复制到终端中,还是应该将其复制到文本文件中并尝试运行它?第一种方法给了我大量的错误,每行以$为前缀都会被输入到终端中,剩下的就是这样做的例子。这假设您使用的是正确的外壳(哪个终端使用)。我尝试用以下内容创建一个shell脚本:virtualenv limitedenv使用基本前缀“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages”在limitedenv/bin/python2中创建新的Python可执行文件,同时在limitedenv/bin/Python安装工具中创建可执行文件,pip不幸的是,我在尝试运行脚本时遇到了一大堆错误,首先是:错误:可执行文件limitedenv/bin/python没有运行错误:它认为sys.prefix是u'/Users/***/Desktop'(应该是u'/Users/***/Desktop/limitedenv')您运行了源代码bin/activate
?这使虚拟环境成为当前活动的环境。您可以在终端中手动执行这些步骤,而不是创建shell脚本。limitedenv文件夹已成功创建,并包含以下文件夹:bin/、include/、lib/。但是,在cd'ed到limitedenv/、并键入source bin/activate后,我得到以下信息:-bash:bin/activate:没有这样的文件或目录
(limitedenv)$ deactivate
$