我想从tar文件安装到我的python virtualenv中的外部包。 安装软件包的最佳方法是什么?
我发现了两种方法可以做到:
python setup.py install
。pip install packagename.tar.gz
醇>
如果以这两种方式做这些事情会有什么不同。
答案 0 :(得分:77)
从表面上看,两者都做同样的事情:做python setup.py install
或pip install <PACKAGE-NAME>
将为你安装你的python包,并且最小化。
然而,使用pip提供了一些额外的优势,使其使用起来更好。
setup.py
,则通常需要手动搜索并下载依赖项,这很乏味且可能会令人沮丧。pip uninstall <PACKAGE-NAME>
和pip install --upgrade <PACKAGE-NAME>
。相反,如果使用setup.py
安装软件包,则必须手动删除并维护软件包(如果要删除它),这可能容易出错。setup.py
,则必须访问图书馆的网站,找出下载位置,解压缩文件,运行setup.py
...相反,点击将自动搜索Python Package Index (PyPi)查看包是否存在,并将自动为您下载,提取和安装包。除了少数例外,几乎每个真正有用的Python库都可以在PyPi上找到。virtualenv
完美集成的其他好处,python setup.py install
是一个允许您在计算机上运行需要冲突的库和Python版本的多个项目的程序。 More info。所以基本上,请使用pip。它仅比使用pip install <PACKAGE-NAME>
提供了改进。
如果你使用的是旧版本的Python,无法升级,也没有安装pip,你可以在以下链接找到有关安装pip的更多信息:
pip本身并不需要教程。 90%的情况下,您真正需要的唯一命令是{{1}}。也就是说,如果您有兴趣了解更多有关pip的具体信息,请参阅:
通常也建议您一起使用pip和virtualenv。如果你是Python的初学者,我个人认为只需在全球范围内使用pip和安装包就可以了。但最终我认为你应该转换到使用virtualenv来处理更严肃的项目。
如果您想了解更多关于同时使用pip和virtualenv的信息,请参阅:
答案 1 :(得分:14)
python setup.py install
是make install的类比:它是将文件编译和复制到目标目录的有限方式。这并不意味着它是在您的系统上真正安装软件的最佳方式。
pip
是一个软件包管理器,可以安装,升级,列出和卸载软件包,比如熟悉的软件包管理器,包括:dpkg, apt, yum, urpmi, ports
等。在幕后,它将运行python setup.py install
,但是有特定的选项来控制最终安装的方式和地点。
总结:使用pip
。
答案 2 :(得分:0)
问题是有关 安装包含Python软件包的本地tarball的首选方法 ,否有关将软件包上传到索引服务,例如PyPi。
以免我知道某些软件发行商没有将其软件包上传到PyPi,而是要求开发人员从其网站下载软件包并进行安装。
python setup.py安装
这可以工作,但不建议这样做。无需解压缩tarball文件并进入其中以运行setup.py文件。
pip install ../ path / to / packagename.tar.gz
这是设计和首选的方式。简洁并与PyPi样式的软件包保持一致。
有关pip install
的更多信息,请参见:https://pip.readthedocs.io/en/stable/reference/pip_install/