如何更改pip的默认安装位置
我正在尝试用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 个回答
@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文件夹,这可能是解决方案。
按照以下步骤操作:
pip config set global.target D:\site-packages
这条命令是用来改变安装路径的。
或者你可以用这条命令:py -m pip config --user --editor notepad edit
来编辑配置。
[global]
target = D:\site-packages
设置环境变量,以便使用下载的内容,像这样使用:
import xxx
你需要设置两个环境变量:
PIP_TARGET=site-packages
PYTHONPATH=site-packages
第三步是:pip config unset global.target
,然后用这条命令来升级pip:py -m pip install --upgrade pip
打开终端,然后输入:
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
换成你想要的任何文件夹路径。
你可以设置以下环境变量:
PIP_TARGET=/path/to/pip/dir
https://pip.pypa.io/en/stable/user_guide/#environment-variables
根据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.ini
或pip.config
文件里,你需要写入(假设你在Windows上)类似这样的内容:
[global]
target=C:\Users\Bob\Desktop
不过你要把 C:\Users\Bob\Desktop
替换成你想要的路径。如果你在Linux上,你可以替换成类似 /usr/local/your/path
的路径。
保存后,命令就会变成:
pip install pandas
不过,安装的程序可能会假设它会被安装在某个特定的目录,如果安装在其他地方,可能就会出现问题。