python包管理_关于python包管理

在我的电脑的E:\apps\python2.7\Lib\site-packages下。

有着41个对象(文件或者文件夹)。

1a78b7c2ebd84e4fa1ca6870f6ff41e2.png

1)

其中linester-1.0.0-py2.7.egg-info文件 是安装mynester跟yournester的信息总结,

他们使用了python setup.py install 的安装方式。(学会使用Distutils发布包,见文章)

但是在linester-1.0.0-py2.7.egg-info文件 中却找不到任何关于mynester跟yournester的信息。

这是python在Distutils本身设计的缺陷。。

2)

Python标准库中提供的Distutils打包工具充斥了上述的种种问题,但由于它是一种标准,所以人们要么继续忍受并使用它,

或者转向更先进的工具Setuptools,它在Distutils之上提供了一些高级特性。

另外还有Distribute,它是Setuptools的衍生版本。Pip则是一种更为高级的安装工具,它依赖于Setuptools。

其中,easy_install是setuptools和distribute自带的安装脚本,

也就是一旦 setuptools 或 distribute安装完毕, easy_install 也便可用。。

现在setuptools已经停止维护了,基本上setuptools就是个名字,核心是distribute。

3)不过不论是setuptools\distribute还是基于setuptools的pip。这些都不是python官方想包容的标准。setuptools 和 distribute 的诞生是因为 distutils 的不济, 进而导致目前分化的状况.而 Guido 并未接纳 distribute 为官方标准, 并说明了原因. 开发者在失落之余明确了新的方向和任务 – distutils2, 它将成为 Python 3.3 的标准库 packaging , 并在其它版本中以 distutils2 的身份出现; 换句话说, 它和 pip 将联手结束目前混乱的状况;

4)

上述提到的41个对象,包括3个用distutils1安装的nester文件都能被pip freeze命令显示。

C:\Users\Administrator>pip freeze -l

Django==1.4.3

MySQL-python==1.2.4b4

argparse==1.2.1

colorama==0.2.4

cx-Freeze==4.3

linester==1.0.0 (包含了mynester和yournester)

requests==0.14.1

virtualenv==1.9.1

但有两种包不能显示出来,

一个是setuptools,跟pip。。 因为他们本身就是pip一部分、、安装pip之前一定安装setuotools,因为pip基于setuptools

另一个就是使用pth指向的wxpython包。见wx.pth文件

总结来说,现在2013年,就用pip, 摒弃setuptools和Distribute,坐等distutils2。

-- 关于python包管理. By chinesejie@qq.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值