使用PIP安装新的python包时,是否可以更改包名称,因为还有另一个包含相同名称的包?
或者,如何更改现有包名?
使用pip
命令行工具无法做到这一点。 PyPI上的所有包都有唯一的名称。软件包通常需要并相互依赖,并假设名称不会更改。
如果您在使用pip install'module'时正在努力安装正确的软件包,您可以随时下载相应的wheel文件(.whl扩展名),然后使用pip直接安装。这在过去的各种情况下对我有用。
如果您不需要同一项目的两个包,请使用virtualenv。使用virtualenv,您也可以拥有不同版本的软件包。
另一种方式可能是已提到的网站包。
https://virtualenv.pypa.io/en/stable/
http://docs.python-guide.org/en/latest/dev/virtualenvs/#lower-level-virtualenv
创建一个新的virtualenv,然后在新的virtualenv上安装该软件包,你也可以拥有不同版本的软件包。
我猜你至少有一个你引用的软件包没有从https://pypi.org/安装,因为它们强制执行软件包的唯一名称;这意味着您从源代码安装该软件包,这意味着您还可以自由地将其名称更改为您想要的名称。您可以通过更改违规包的根目录中的setup.py
文件来完成此操作。
通过指定pip的参数,无法更改“导入路径”(已安装的名称)。所有其他选项都需要某种形式的“更改包”:
A.使用pip install -e git+http://some_url#egg=some-name
:即使两个包具有相同的导入路径,它们也会保存在不同的目录下(使用some-name
之后提供的#egg=
)。在此之后,您可以转到包的源目录(usuaully venv/src/some-name
)并重命名一些文件夹以更改导入路径
公元前。分叉存储库,进行更改,然后从该存储库安装软件包。或者,您可以使用不同的名称在PyPI上发布包,并按名称安装它
D.使用pip download
将其中一个包放入项目中,然后根据需要重命名文件夹
我不认为可以通过使用pip来更改包的名称。因为pip可以安装存在的包,如果没有您编写的包名,则会发生错误,以更改包的名称。
我想这取决于你是否需要更新其中任何一个。如果不这样做,那么您可以转到site-packages
文件夹,然后重命名该文件夹