如何更改pip的默认安装位置

wes*_*pga 32 python pip

我正在尝试使用pip安装Pandas,但我遇到了一些麻烦.我刚刚运行sudo pip install pandas了成功下载的熊猫.但是,它没有下载到我想要的位置.这是我在使用时看到的内容pip show pandas:

---
Name: pandas
Version: 0.14.0
Location: /Library/Python/2.7/site-packages/pandas-0.14.0-py2.7-macosx-10.9-intel.egg
Requires: python-dateutil, pytz, numpy
Run Code Online (Sandbox Code Playgroud)

所以它已经安装好了.但是当我创建一个新的Python项目并在下System Libs/lib/python搜索pandas时,我感到很困惑,因为它没有出现.然而,我过去下载的其他一些软件包确实出现了,所以我试着看看那些软件​​包的位置.运行pip show numpy(我可以导入没有问题)产生:

---
Name: numpy
Version: 1.6.2
Location: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Requires: 
Run Code Online (Sandbox Code Playgroud)

这是一个完全不同的目录.为了确认我的错误,我跑去pip install pyquery查看它将被下载到哪里,并得到:

Name: pyquery
Version: 1.2.8
Location: /Library/Python/2.7/site-packages
Requires: lxml, cssselect
Run Code Online (Sandbox Code Playgroud)

和大熊猫一样的地方......

如何更改pip的默认下载位置,以便将这些包下载到numpy所在的同一位置?

注意:我在搜索解决方案时遇到了一些类似的问题,但我没有看到任何提及永久更改默认位置的内容.

小智 31

据pip文档说

http://pip.readthedocs.org/en/stable/user_guide/#configuration

您需要在pip.ini文件中指定默认安装位置,这也是根据上面的网站通常如下所示

在Unix和Mac OS X上,配置文件是:$ HOME/.pip/pip.conf

在Windows上,配置文件为:%HOME%\ pip\pip.ini

假设您的名字是Bob,%HOME%位于C:\Users\BobWindows上

在linux上,$HOME可以使用来定位目录cd ~

您可能必须pip.ini在找到pip目录时创建该文件.在你pip.inipip.config你之内你需要把(假设你在窗户上)像

[global]
target=C:\Users\Bob\Desktop
Run Code Online (Sandbox Code Playgroud)

除了你会用C:\Users\Bob\Desktop你想要的任何路径取而代之.如果你在Linux上,你会用类似的东西替换它/usr/local/your/path

然后保存命令

pip install pandas
Run Code Online (Sandbox Code Playgroud)

但是,您安装的程序可能会假定它将安装在某个目录中,并且可能由于安装在其他位置而无法运行.

  • 位置是 %APPDATA%\pip 而不是 %HOME% (Win10)(本地,不是漫游) (3认同)
  • 我看到这篇文章说默认位置是“$HOME/.pip/pip.conf”,但是当我运行“pip config set global.target <path>”时,我注意到这是过时的信息(在文档)。它现在尊重 XDG 基本目录及其变量,默认为“$HOME/.config/pip/”。 (3认同)

bar*_*olo 18

您可以设置以下环境变量:

PIP_TARGET=/path/to/pip/dir
Run Code Online (Sandbox Code Playgroud)

https://pip.pypa.io/en/stable/user_guide/#environment-variables

  • 在这种情况下,您需要指定“PYTHONPATH”(或类似的)才能导入模块。例如 `PIP_TARGET=site-packages`、`PYTHONPATH=site-packages`。 (4认同)

小智 9

打开终端并输入:

pip config set global.target /Users/Bob/Library/Python/3.8/lib/python/site-packages
Run Code Online (Sandbox Code Playgroud)

除了代替

/Users/Bob/Library/Python/3.8/lib/python/site-packages
Run Code Online (Sandbox Code Playgroud)

你可以使用任何你想要的目录。

  • 这是一个非常有效的解决方案。但是,它可能会导致 pip 安装和包更新出现很多问题,要么使用错误的 Python 版本,要么在您想要使用其他版本进行 pip 时抛出彻底的错误。要撤消此命令,请使用“pip config unset global.target”。它也可以在用户级别使用“pip config set/unset user.target”。 (2认同)

小智 8

按着这些次序

  1. pip config set global.target D:\site-packages更改安装路径

或者py -m pip config --user --editor notepad edit

[global]
target = D:\site-packages
Run Code Online (Sandbox Code Playgroud)
  1. 设置环境变量以使用下载import xxx

    PIP_TARGET=站点包 PYTHONPATH=站点包

3 pip config unset global.target、升级pippy -m pip install --upgrade pip