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

64 投票
6 回答
245762 浏览
提问于 2025-04-18 09:30

我正在尝试用pip安装Pandas,但遇到了一些问题。我刚刚运行了sudo pip install pandas,成功下载了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

所以它是安装成功了。但是当我创建一个新的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: 

这个路径完全不同。为了确认我的错误,我又运行了pip install pyquery,想看看它会下载到哪里,结果是:

Name: pyquery
Version: 1.2.8
Location: /Library/Python/2.7/site-packages
Requires: lxml, cssselect

和pandas下载到同一个地方……

我该如何更改pip的默认下载位置,让这些包下载到和numpy一样的地方呢?

注意:我在寻找解决方案时看到了一些类似的问题,但没有看到提到永久性更改默认位置的内容。

6 个回答

1

@Austin的回答已经过时了,这里有一个更新的解决方案:

根据pip的文档,链接在这里:

https://pip.pypa.io/en/stable/topics/configuration/

你需要在一个配置文件中指定默认的安装位置。根据上面的网站,这个文件通常位于以下位置:

Mac OS

如果目录 $HOME/Library/Application Support/pip 存在,那么配置文件在 $HOME/Library/Application Support/pip/pip.conf;如果不存在,则在 $HOME/.config/pip/pip.conf

如果存在的话,旧版的“每个用户”配置文件也会被加载:$HOME/.pip/pip.conf

你可以通过导航到 ~/ 来找到 $HOME 文件夹(在Finder中按cmd+shift+G;按cmd+shift+.可以显示隐藏文件)。

Windows

%APPDATA%\pip\pip.ini

如果存在的话,旧版的“每个用户”配置文件也会被加载:%HOME%\pip\pip.ini

%HOME% 在Windows上通常位于 C:\Users\Bob,这里假设你的用户名是 Bob

Unix

$HOME/.config/pip/pip.conf,这个位置会遵循 XDG_CONFIG_HOME 环境变量。

如果存在的话,旧版的“每个用户”配置文件也会被加载:$HOME/.pip/pip.conf

在Linux上,你可以通过使用 cd ~ 来找到 $HOME 目录。

当你找到你的pip目录时,可能需要创建配置文件。可以放入类似以下内容:

[global]
target = /Library/Frameworks/Python.framework/Versions/Current/lib/python3.10/site-packages/

如果你在Mac上,除了要把 /Library/Frameworks/Python.framework/Versions/Current/lib/python3.10/site-packages/ 替换成你想要的路径。如果你在Linux上,则可以替换为类似 /usr/local/your/path 的路径。

保存后,命令将变为:

pip install pandas

不过,你安装的程序可能会假设它会安装在某个特定的目录,如果安装在其他地方,可能就无法正常工作。

请注意:

pip3 install pandas

如果你的包被安装在Python2文件夹而不是Python3文件夹,这可能是解决方案。

8

按照以下步骤操作:

  1. pip config set global.target D:\site-packages 这条命令是用来改变安装路径的。

或者你可以用这条命令:py -m pip config --user --editor notepad edit 来编辑配置。

[global]
target = D:\site-packages
  1. 设置环境变量,以便使用下载的内容,像这样使用:import xxx

    你需要设置两个环境变量:
    PIP_TARGET=site-packages
    PYTHONPATH=site-packages

第三步是:pip config unset global.target,然后用这条命令来升级pip:py -m pip install --upgrade pip

20

打开终端,然后输入:

pip config set global.target /Users/Bob/Library/Python/3.8/lib/python/site-packages

不过要把

/Users/Bob/Library/Python/3.8/lib/python/site-packages

换成你想要的任何文件夹路径。

33

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

PIP_TARGET=/path/to/pip/dir

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

52

根据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

%HOME%在Windows上通常是指 C:\Users\Bob,前提是你的名字是Bob

在Linux上,你可以通过输入 cd ~ 来找到$HOME目录。

当你找到pip目录后,可能需要自己创建一个pip.ini文件。在你的pip.inipip.config文件里,你需要写入(假设你在Windows上)类似这样的内容:

[global]
target=C:\Users\Bob\Desktop

不过你要把 C:\Users\Bob\Desktop 替换成你想要的路径。如果你在Linux上,你可以替换成类似 /usr/local/your/path 的路径。

保存后,命令就会变成:

pip install pandas

不过,安装的程序可能会假设它会被安装在某个特定的目录,如果安装在其他地方,可能就会出现问题。

撰写回答