问题:如何在全球而非本地安装pip软件包?
我正在尝试使用pip3安装flake8软件包,但似乎已拒绝安装,因为它已安装在一个本地位置。
如何强制它在全局(系统级别)安装?
pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages
请注意,我更喜欢一种通用解决方案(该解决方案应该在Debian,OS X甚至Windows上都可以使用),该解决方案可以在任何平台上使用,所以我不想自己指定目的地。
出于某种奇怪的原因,它的行为就像我已经指定了--user
(在我的情况下我没有指定)。
我能够全局安装软件包的唯一方法是先将其删除,然后再重新安装。如果以某种方式存在,pip(8.1.1)似乎拒绝全局安装软件包。
免责声明:实验期间未使用或损坏任何虚拟环境。
回答 0
您为什么不尝试sudo
使用H
标志?这应该可以解决问题。
sudo -H pip install flake8
普通人sudo pip install flake8
将尝试使用您自己的主目录。该-H
指示它使用系统的主目录。有关更多信息,请访问https://stackoverflow.com/a/43623102/
回答 1
也许--force-reinstall
会奏效,否则就可以解决问题--ignore-installed
。
回答 2
您正在使用virtualenv
吗?如果是,请禁用virtualenv。如果您不使用它,则它已经被广泛安装(系统级别)。尝试升级软件包。
pip install flake8 --upgrade
回答 3
我实际上看不到您的问题。全局是python3路径的站点包文件夹中的任何包。
如果要仅在本地使用它,则必须配置virtualenv并在激活的虚拟环境中重新安装软件包。
回答 4
python中的pip安装在哪里进行?
我将提供我面临的Windows解决方案,并花了一些时间解决。
首先,在Windows中(如果使用Windows作为操作系统,则将Windows作为操作系统),pip install <package_name>
默认情况下,它将全局安装(如果您尚未激活虚拟环境)。激活虚拟环境并进入虚拟环境后,所有pip安装都将在该虚拟环境内。
pip正在安装上述软件包,但是我不能使用它们吗?
对于这个pip,可能会警告您,pip可执行文件(例如pip3.exe
)pip.exe
不在您的path变量上。为此,您可以将此路径(通常为- C:\Users\<your_username>\AppData\Roaming\Programs\Python\
)添加到环境变量中。重新启动后cmd
,现在尝试使用已安装的python软件包。现在应该可以工作了。