【发布时间】:2011-03-10 11:12:41
【问题描述】:
我最近开始学习 Python,对包的分发和安装方式有些困惑。
我知道官方安装包的方式是distutils:你下载源码tarball,解压,然后运行:python setup.py install,然后模块会自动安装自己
我还知道easy_install 辅助脚本附带的setuptools。它使用 eggs 进行分发,据我了解,它建立在 distutils 之上并执行与上述相同的操作,此外它还负责处理所需的任何依赖项,所有这些都从 PyPi 获取
然后还有pip,我还是不确定它和其他的有什么不同。
最后,由于我在 windows 机器上,很多软件包还通过 windows 安装程序 提供二进制构建,尤其是那些需要编译 C/Fortran 代码的软件包,否则将是一场噩梦在 Windows 上手动编译(假设您有 MSVC 或 MinGW/Cygwin 开发环境,并设置了所有必要的库。但是尝试自己构建 numpy 或 scipy,您会明白的!)
所以有人可以帮助我理解这一切,并解释每种方法的区别、优缺点。我想知道每个人如何跟踪包(Windows 注册表、配置文件、..)。特别是,您将如何管理所有第三方库(能够列出已安装的包、禁用/卸载等)
【问题讨论】:
-
相关:Listing installed python site-packages?,Can I install Python windows packages into virtualenvs?。后者提到 virtualenv 但它在 virtualenv 之外也是有效的。
-
登陆此页面的任何人都应该对此感兴趣:stackoverflow.com/a/14753678/97160
标签: python pip packages setuptools distutils