将安装python包的pip安装到默认安装位置以外的特定目录中

use*_*020 18 python pip enthought ubuntu-12.04

我的Ubuntu系统上的pip安装包的默认位置是'/usr/local/lib/pytho2.7/dist-packages/',我认为这是默认的.我正在使用Enthought python发行版(EPD而不是canopy),并且想要将一个包安装到EPD中,因为我通常使用来自我系统上的EPD发行版的python.我想知道EPD中的哪个目录需要使用pip安装新文件; 因为linux上EPD的目录结构似乎与MAC OS上的EPD目录结构完全不同,因为在那里似乎有很多例子.

我也遇到过这个问题:

pip install --install-option="--prefix=$PREFIX_PATH" package_name
Run Code Online (Sandbox Code Playgroud)

作为类似这个问题的公认答案.我想知道$ PREFIX_PATH环境变量的目的是什么,因为我的目前是空白的.我需要在Ubuntu上为我的Enthought EPD发行版指定安装python模块的路径.

我为这个相对天真的问题道歉,但我对ubuntu上的EPD很新,我仍然想弄明白.

Ray*_*Luo 27

文档中所述,此行应该适用于所有人.

pip install package_name -t any/path/i/like
Run Code Online (Sandbox Code Playgroud)

PS:

并且为了解决@CPiLL的评论,它any/path/i/like可以是任何东西,例如/tmp/my-test-env.以这种方式安装的软件包将不适用于您通常的python环境,实际上它们甚至不会出现使用pip list.而python -c "import package_name"一般将ImportError异常失败,除非你cd到该文件夹第一:

cd /tmp/my-test-env
python -c "import package-name"
Run Code Online (Sandbox Code Playgroud)

这种技术如何有用超出了这个答案.


use*_*020 5

系统:Ubuntu 12.04,有思想的Python发行版(这是我想要安装新的python模块的地方)

因此prefix_path环境变量对我不起作用,pip仍将其安装在默认位置。但是我使用过 如何更改pip安装到的默认目录?

问题作为指导。答案之一帮助我实现了所需。

 pip install -d <path_to_my_directory>  
Run Code Online (Sandbox Code Playgroud)

对于我使用的路径:path_to_epd_directory / lib / python2.7 / site-packages

这会将tar.gz文件放入站点包中

然后使用以下命令提取它:

tar -zxvf pymodule.tar.gz

创建一个名为pymodule的目录,cd进入该模块并输入:

 python setup.py install
Run Code Online (Sandbox Code Playgroud)

那应该做的。