Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pip在两个不同的位置安装相同的包(Python)_Python_Macos_Pip - Fatal编程技术网

使用pip在两个不同的位置安装相同的包(Python)

使用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

出于与工作相关的原因,我试图将Python 2.7.8直接安装到我的机器上(MacOSX10.9)

我目前正在Enthoud Canopy中运行Python2.7.6,我真的不想触及那里现有的库

我的问题是,我想使用pip为新的Python实例化安装软件包,但目前pip与EnThound Corporation捆绑在一起,因此它只在EnThound Corporation的站点软件包路径中安装软件包

  • 我首先尝试了以下方法:

    pip安装--install option=“--prefix=$prefix_PATH/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages”scikit学习

  • 但出现以下错误:

    Requirement already satisfied (use --upgrade to upgrade): scikit-learn in ./Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages
    
  • 然后,我试图通过在.bash_概要文件末尾输入以下行,将现有的Enthound文件夹添加到新安装的Python 2.7.8的路径中:

    PYTHONPATH=$PYTHONPATH:Users/***/Library/Frameworks/Python.framework/Versions/2.7/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
    $