我的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
作为类似问题的公认答案。我想知道$ PREFIX_PATH环境变量的目的是什么,因为我的目前是空白的。我需要在Ubuntu上为我的Enthought EPD发行版指定安装python模块的路径。
我为这个相对天真的问题道歉,但我对ubuntu上的EPD很新,我还是想弄明白。
答案 0 :(得分:26)
此行应该适用于所有人,如documentation中所述。
pip install package_name -t any/path/i/like
PS:
为了解决@CPiLL的评论,any/path/i/like
可以是任何内容,例如/tmp/my-test-env
。以这种方式安装的软件包将 NOT 可用于您通常的python环境,实际上它们甚至不会显示使用pip list
。并且python -c "import package_name"
通常会因为ImportError异常而失败,除非您先进入该文件夹:
cd /tmp/my-test-env
python -c "import package-name"
这种技术如何有用超出了这个答案。
答案 1 :(得分:4)
系统:Ubuntu 12.04,Enthought Python Distribution(这是我想安装新python模块的地方)
所以prefix_path环境变量对我来说不起作用,pip仍然会将它安装在默认位置。但我用过 How do I change the default directory that pip installs to?
问题作为指导。其中一个答案帮助我实现了我所需要的。
pip install -d <path_to_my_directory>
对于我使用的路径: path_to_epd_directory / LIB / python2.7 /站点包
这会将tar.gz文件放入site-packages
然后使用以下方法提取它:
tar -zxvf pymodule.tar.gz
创建一个名为pymodule的目录,cd进入该模块并输入:
python setup.py install
那应该可以胜任。
答案 2 :(得分:1)
这对我在Ubuntu Gnome 17.04上有用。 将PyMySQL安装到特定的目录:
sudo pip install PyMySQL -t /home/mahmoud/app
答案 3 :(得分:0)
相反,您可以使用已安装到EPD安装中的pip
副本。
$ path-to-EPD/bin/enpkg pip # Or simply enpkg pip, if EPD is on your PATH.
$ path-to-EPD/bin/pip install <package-name>
答案 4 :(得分:0)
此答案在Windows OS中有效
简短回答:要使用-t
选项ex:pip install packageX -t lib/
将软件包安装到特定文件夹,然后将该文件夹添加到PYTHONPAHT
长答案:
将virtualenv安装到.env
文件夹
使用-t选项进行pip安装,示例安装到我项目的lib文件夹(名为3
)中
(.env) d:\tmp\3>pip install packageX -t lib/
显示软件包列表:
(.env) d:\tmp\3>pip list
Package Version
---------- ----------
pip 18.1
setuptools 40.6.3
...