一个鸣叫曰:
不要使用easy_install,除非你喜欢刺伤自己的脸.使用点子.
为什么要使用pip而不是easy_install?问题不在于PyPI和包装作者吗?如果作者将垃圾源tarball(例如:丢失文件,没有setup.py)上传到PyPI,那么pip和easy_install都将失败.除了化妆品差异,为什么Python人(如上面的推文)似乎强烈支持pip而不是easy_install?
(我们假设我们正在讨论来自Distribute包的easy_install,这是由社区维护的)
Python easy_install
使得安装新包非常方便.但是,据我所知,它没有实现依赖项管理器的其他常见功能 - 列出和删除已安装的软件包.
找出已安装的内容的最佳方法是什么,以及删除已安装软件包的首选方法是什么?如果我手动删除包(例如,通过rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
或类似),是否有任何文件需要更新?
我正在尝试将一个开源库移植到Python 3.(SymPy,如果有人想知道的话.)
所以,我需要2to3
在为Python 3构建时自动运行.为此,我需要使用distribute
.因此,我需要移植当前系统(根据doctest)distutils
.
不幸的是,我不知道什么是这些模块-之间的区别distutils
,distribute
,setuptools
.文档是最好的粗略,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上,不是全部)......等等.
有人可以解释这些差异吗?我应该用什么?什么是最现代的解决方案?(Distribute
顺便说一句,我也很欣赏一些关于移植的指南,但这有点超出了问题的范围......)
我想安装pip.它应该支持Python 3,但它需要setuptools,它只适用于Python 2.
如何用Python 3安装pip?
我正在将一个Django应用程序部署到开发服务器,并在运行pip install requirements.txt时遇到此错误:
Traceback (most recent call last):
File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
Run Code Online (Sandbox Code Playgroud)
pkg_resources似乎随setuptools一起分发.最初我认为这可能没有安装到virtualenv中的python所以我使用以下命令将setuptools(2.6,与Python相同的版本)安装到virtualenv中的Python站点包中
sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages
Run Code Online (Sandbox Code Playgroud)
编辑这只发生在virtualenv中.如果我在virtualenv之外打开一个控制台,那么就存在pkg_resources
但我仍然得到同样的错误.关于为什么pkg_resources不在路径上的任何想法?
在setup.py两个选项develop
,并install
混淆了我.根据此站点,using使用develop
特殊链接创建site-packages目录.
人们建议我使用python setup.py install
全新安装,并python setup.py develop
在对安装文件进行任何更改后使用.
任何人都可以了解这些命令的用法吗?
我有一个requirements.txt
文件,我正在使用Travis-CI.看来愚蠢复制中都要求requirements.txt
和setup.py
,所以我希望到一个文件句柄传递给install_requires
在kwarg setuptools.setup
.
这可能吗?如果是这样,我该怎么做呢?
这是我的requirements.txt
档案:
guessit>=0.5.2
tvdb_api>=1.8.2
hachoir-metadata>=1.3.3
hachoir-core>=1.3.3
hachoir-parser>=1.3.4
Run Code Online (Sandbox Code Playgroud) pip
,virtualenv
和distribute
?在我对问题4314376的回答中,我建议使用,ez_setup
以便您可以安装pip
并virtualenv
如下:
curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
我最初是从Jesse Noller的博客文章中提取这些说明的,所以你想在Mac上使用Python?.我喜欢保持一个干净的全局site-packages目录的想法,所以我安装的唯一其他软件包就是 virtualenvwrapper
和distribute
.(distribute
由于这个Python公共服务公告,我最近添加到了我的工具箱.为了安装这两个软件包,我使用了:
sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
Run Code Online (Sandbox Code Playgroud)
要真正遵循Python公共服务公告,在全新的Python安装上,我会执行以下操作:
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)
在一个评论我的回答 …
以下是我正在运行的命令:
$ python setup.py bdist_wheel
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
$ pip --version
pip 1.5.6 from /usr/local/lib/python3.4/site-packages (python 3.4)
$ python -c "import setuptools; print(setuptools.__version__)"
2.1
$ python --version
Python 3.4.1
$ which python
/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)
另外,我正在使用自制的python运行mac
这是我的setup.py脚本:https: //gist.github.com/cloudformdesign/4791c46fe7cd52eb61cd
我疯了 - 我无法弄清楚为什么这不起作用.
我已经阅读了关于Pylons和Peak页面上的鸡蛋入口点的文档,我仍然不太明白.有人可以向我解释一下吗?
python ×10
setuptools ×10
pip ×5
distribute ×2
easy-install ×2
virtualenv ×2
distutils ×1
django ×1
package ×1
packages ×1
packaging ×1
pypi ×1
python-3.x ×1
python-wheel ×1