科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道EasyInstall —一个划时代的Python包管理器?

EasyInstall —一个划时代的Python包管理器?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

新的EasyInstall命令行工具可以处理任意数量distutils源码包的URL(或本地filenames)、并使用.pth文件(也可不用)下载、构建和安装它们。

作者: Phillip J.Eby 来源:bolg【原创】 2008年1月17日

关键字: EasyInstall Eggs python LavenderSs 软件

  • 评论
  • 分享微博
  • 分享邮件

新的EasyInstall命令行工具可以处理任意数量distutils源码包的URL(或本地filenames)、并使用.pth文件(也可不用)下载、构建和安装它们。当然也可轻松地升级、降级和/或卸载包,这和在运行时选择所需版本的包一样简单。

这是第一个alpha发行版本,所以多少会有点毛病。我准备开始按照自己的方式通过PyPI用不同的包进行一下系统地测试。(我会先尝试看起来困难的部分)

若你在安装一个包含extensions的包,EasyInstall要求需要有一个C编译器。但是要是在平台上将一个Python Egg打包,你可以利用.egg文件的URL(或本地filename)运行EasyInstall以下载并安装到系统中。所以,也许不久我们就将看到人们在为不同的平台打包成eggs继而可下载有效的URL

从这一点上看EasyInstall仍只是个粗线条的东西。一个理想的版本应该是能在PyPI中搜索所需的包而不必知道具体的下载URL。或许它也应有一个GUI。谁知道了..但它是开源的,所以会自由创建自己的extensions。同时我将继续为EasyInstall和潜在的“setuptools”包添加新特性。

我也希望包作者们能考虑一下使用setuptools提供的'pkg_resources'模块以使他们的包更加“egg人性化(egg-friendly)”,特别是在源代码发行版中('PackageName.egg-info/depends.txt'文件中)加入依赖性信息使得pkg_resources依赖管理器能够给在运行时自动激活合适版本的包。这些都会使它们变得与众不同,因为对于人们来说这将会根据依赖性轻松地将体积较大的包分解为小一点的包。

但在这些出现之前,我还得去完成Python Eggs 开发,还剩一点没完成。但是,有了最近对“CPAN clones”的浓厚兴趣,我认为有必要真正解决一下包管理的问题,且还要在人们试图去实现基于PEP 262的包管理器或通过其他类似的至少与Python Eggs不同在程序、支持多版本等问题上行不通的方法之前去解决。

所以在这里希望这些在CPAN clones上忙活的人能关注一下EasyInstall并弄清楚你是否能够通过从easy_installpkg_resources模块导入一些类来保存work。如果你发现已有的这些帮不上什么忙,我真的希望能将它们告诉我。同样,如果你找到了一个EasyInstall不能正确构建的包,也可以通过Distutils-SIG mailing list让我知道。

更新:我最初上传的在Python2.4上“eggsecutable”的EasyInstall存在一个问题,似乎对Python的“-m”选项只在真正的.py文件的模块下有效,也就是说不能在eggs内部使用它。是这样的,对于Python2.3 中“eggsecutable 的东西也适用于2.4,所以我重建了Python2.4使其以相同的方式工作。

原文链接:http://blog.csdn.net/pjeby/archive/2008/01/14/2044025.aspx

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章