我有一个外部包,我想从一个tar文件安装到我的python virtualenv中。安装软件包的最佳方法是什么?
我发现了两种方法:
python setup.py install
。pip install packageName.tar.gz
来自https://pip.pypa.io/en/stable/reference/pip_install/#examples这两种方法是否有区别。
从表面上看,两者都在做相同的事情:执行python setup.py install
或pip install
将为您安装您的python包,并且不会带来太多的麻烦。
然而,使用pip提供了一些额外的优点,使其更易于使用。
setup.py
,则通常必须手动搜索并下载依赖项,这既乏味又可能令人沮丧。pip uninstall
和pip install--upgrade
。相反,如果使用setup.py
安装软件包,则如果要删除该软件包,则必须手动删除和维护该软件包,这可能很容易出错。setup.py
,您必须访问库的网站,找出从哪里下载,解压缩文件,运行setup.py
.。。相反,pip会自动搜索Python包索引(PyPi),查看包是否存在,并自动为您下载,提取和安装包。除了少数例外,几乎所有真正有用的Python库都可以在PyPI上找到。VirtualEnv
很好地集成的额外好处,后者是一个允许您在计算机上运行需要冲突库和Python版本的多个项目的程序。详细信息。所以基本上,使用PIP。它只提供了使用Python setup.py install
的改进。
如果您使用的是旧版本的Python,无法升级,也没有安装pip,您可以在以下链接中找到有关安装pip的更多信息:
pip本身并不需要教程。90%的情况下,您真正需要的唯一命令是pip install
。尽管如此,如果您有兴趣了解更多关于使用pip可以做什么的详细信息,请参阅:
通常还建议您一起使用pip和virtualenv。如果您是Python的初学者,我个人认为首先使用pip并在全球范围内安装包是不错的,但最终我认为您应该在处理更重要的项目时过渡到使用virtualenv。
如果您想了解更多关于一起使用pip和virtualenv的信息,请参阅:
Python setup.py install
类似于make install:它是编译文件并将其复制到目标目录的有限方法。这并不意味着这是在您的系统上真正安装软件的最佳方法。
pip
是一个包管理器,它可以安装,升级,列出和卸载包,就像我们熟悉的包管理器一样,包括:dpkg,apt,yum,urpmi,ports
等。在引擎盖下面,它将运行python setup.py install
,但有特定的选项来控制最终安装的方式和位置。
总之:使用pip
。
问题是关于安装包含python包的本地tarball的首选方法,而不是关于将包上传到像PyPI这样的索引服务的优点。
据我所知,一些软件分销商并没有将他们软件包上传到PyPi,而是要求开发人员从他们的网站下载软件包并进行安装。
python setup.py安装
这可以工作,但不推荐。不必打开tarball文件并进入其中运行setup.py文件。
pip安装。。/path/to/packagename.tar.gz
这是设计和首选的方式。简洁并与Pypi风格的包对齐。
有关PIP安装
的更多信息可在此处找到:https://pip.readthedocs.io/en/stable/reference/pip_install/