【问题标题】:How to change default install location for pip如何更改 pip 的默认安装位置
【发布时间】:2014-06-12 00:38:05
【问题描述】:

我正在尝试使用 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

这样就安装好了。但是当我创建一个新的 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

所以和熊猫一样的地方...

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

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

【问题讨论】:

  • 你知道为什么 numpy 安装到那个位置吗?我的朋友遇到了类似的问题,但他正在安装 tensorflow。
  • 你在用venv吗?我问是因为我在更改工作文件夹的位置时遇到了同样的错误,结果我需要删除 venv 文件夹并重新创建它。如果这有帮助,请告诉我,以便我发布完整的答案。
  • venv(python 虚拟环境)就是答案,它很棒

标签: python pip


【解决方案1】:

根据 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 上,$HOME 目录可以使用 cd ~ 定位

当您找到您的 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

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

【讨论】:

  • “但是,您安装的程序可能会假定它会安装在某个目录中,并且可能由于安装在其他位置而无法运行。”那么我应该只在我的 Python 路径中包含这个新文件夹的路径吗?我该怎么做?
  • 这将取决于您的操作系统如何包含某个路径。 "export PATH=$PATH:/path/to/dir1" 将在 Linux 中工作,我相信你正在使用它。如果我对您的操作系统有误,这里有一个链接link for Windows。我希望这会有所帮助。
  • 我想在pip.conf 中指定. 作为目标目录(根目录) - 但不幸的是它会创建一个名为. 的新目录:( 有没有办法做到这一点没有硬编码本地文件系统上的目录路径就发生了?
  • 位置是 %APPDATA%\pip 不是 %HOME% (Win10)(本地,不是漫游)
  • 我看到这篇文章说默认位置是$HOME/.pip/pip.conf,但是当我运行pip config set global.target <path> 时,我注意到这是过时的信息(文档中也有描述)。它现在尊重 XDG 基础目录及其变量,默认为 $HOME/.config/pip/
【解决方案2】:

打开终端并输入:

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 安装和包更新出现很多问题,要么转到错误的 Python 版本,要么在您想使用另一个版本进行 pip 时抛出完全错误。要撤消此命令,请使用pip config unset global.target。在用户级别也可以使用 pip config set/unset user.target
【解决方案3】:

按照这些步骤进行

  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=站点包 PYTHONPATH=站点包

3.pip config unset global.target,升级pip py -m pip install --upgrade pip

【讨论】:

    【解决方案4】:

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

    PIP_TARGET=/path/to/pip/dir
    

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

    【讨论】:

    • 在这种情况下,您需要指定PYTHONPATH(或类似的)才能导入模块。例如。 PIP_TARGET=site-packages, PYTHONPATH=site-packages.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 2017-10-08
    相关资源
    最近更新 更多