如何使用PIP安装具有不同名称的python包

时间:2014-12-05 03:32:26

标签: python duplicates package pip

使用PIP安装新的python包时,是否可以更改包名称,因为还有另一个包含相同名称的包?

或者,如何更改现有包的名称?

10 个答案:

答案 0 :(得分:4)

我认为解决这个问题的一种方法是使用

pip download

查看文档here。您可以在下载包后更改包的名称,然后手动安装它。我没有对此进行过测试,但似乎应该可以使用。

答案 1 :(得分:3)

如果您在使用pip install'module'时正在努力安装正确的软件包,您可以随时下载相应的wheel文件(.whl扩展名),然后使用pip直接安装。这在过去的各种情况下对我有用。

答案 2 :(得分:3)

如果您不需要同一个项目的两个包,请使用virtualenv。 使用virtualenv,您也可以拥有不同版本的软件包。

另一种方式可能是已提到的网站包。

https://virtualenv.pypa.io/en/stable/

http://docs.python-guide.org/en/latest/dev/virtualenvs/#lower-level-virtualenv

答案 3 :(得分:3)

创建一个新的virtualenv,然后在新的virtualenv上安装该软件包,你也可以拥有不同版本的软件包。

答案 4 :(得分:2)

我在库gmailpygmail中遇到了问题,它们都想安装到PYTHONPATH/site-packages/gmail/。显然pygmail软件包存在问题,应该将其安装到pygmail文件夹中,但是多年来他们没有进行任何更新。

对于临时解决方案,我安装了一个(pygmail),然后更改了文件夹名称(gmail-> pygmail和gmail-v#.dist-info-> pygmail-v#.dist-info),然后正常安装第二个。只要我不尝试更新第一个软件包,就可以正常工作。 import gmailimport pygmail正常工作。

答案 5 :(得分:2)

不可能通过为pip指定参数来更改“导入路径”(安装的名称)。所有其他选项都需要某种形式的“更改包装”:

A。使用pip install -e git+http://some_url#egg=some-name:这样,即使两个软件包都具有相同的导入路径,它们也将保存在不同的目录下(使用some-name之后提供的#egg=)。之后,您可以转到包的源目录(通常为venv/src/some-name)并重命名一些文件夹以更改导入路径

BC。分叉存储库,进行更改,然后从该存储库安装软件包。或者,您也可以使用其他名称在PyPI上发布您的软件包,然后按名称进行安装

D。使用pip download将其中一个软件包放入您的项目中,然后根据需要重命名文件夹

答案 6 :(得分:2)

我猜测您所引用的至少一个软件包未从https://pypi.org/安装,因为它们对软件包强制使用唯一的名称;这意味着您将从源代码安装该软件包,这意味着您还可以自由更改其名称为所需的名称。您可以通过更改有问题的程序包根目录中的setup.py文件来实现。

答案 7 :(得分:1)

我不认为可以通过使用pip来更改包的名称。 因为pip可以安装存在的包,如果没有你编写的包名来改变包的名称,就会出错。

答案 8 :(得分:-1)

我想这取决于你是否需要更新其中任何一个。如果不这样做,则可以转到site-packages文件夹,然后重命名文件夹

答案 9 :(得分:-2)

使用pip命令行工具无法做到这一点。 PyPI上的所有包都有唯一的名称。软件包通常需要并相互依赖,并假设名称不会更改。