Python是否具有程序包/模块管理系统?

发布于 2021-01-29 19:31:00

Python是否具有包/模块管理系统,类似于Ruby在哪里可以使用rubygems gem install packagename

在“ 安装Python模块”上
,我仅看到对的引用python setup.py install,但这需要您首先找到该软件包。

关注者
0
被浏览
210
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    最近的进展

    2014年3月 :好消息!Pip随附了Python
    3.4
    。Pip长期以来一直是Python的事实上的标准包管理器。您可以这样安装软件包

    pip install httpie
    

    哇!这是所有Python版本中的最佳功能。它使每个人都可以访问社区丰富的图书馆。新手不再因设置困难而无法使用社区库。

    但是 ,Python打包经验仍然有许多令人沮丧的地方。累积地,它们使Python对新手来说非常不受欢迎。同样,长期的忽视历史(即从Python
    2.0到Python 3.3一直没有使用包管理器交付14年)确实损害了社区。我在下面都介绍。

    突出的挫败感

    重要的是要理解,尽管有经验的用户能够解决这些问题,但它们却是Python新手的重大障碍。实际上,困难和普遍的用户不友好可能阻止了其中许多人。

    PyPI网站是有帮助的

    带有程序包管理器的每种语言都有一个官方(或准官方)存储库,供社区下载和发布程序包。Python具有Python包索引PyPI。
    https://pypi.python.org/pypi

    让我们将其页面与RubyGems和Npm(节点包管理器)的页面进行比较。

    1. https://rubygems.org/gems/rails软件包的RubyGems页面rails
    2. https://www.npmjs.org/package/express软件包的Npm页面express
    3. https://pypi.python.org/pypi/simplejson/软件包的PyPI页面simplejson

    您将看到RubyGems和Npm页面都以该程序包的一行说明开始,然后是如何安装的友好说明。

    同时,天真地浏览PyPI的所有不幸的Python用户都会感到困扰。在https://pypi.python.org/pypi/simplejson/上,他们找不到任何有用的说明。但是,有一个绿色的大“下载”链接。遵循它并非没有道理。啊哈,他们点击!他们的浏览器下载.tar.gz文件。许多Windows用户甚至无法打开它,但是如果他们坚持不懈,他们最终可能会提取它,然后运行setup.py并最终在Google的帮助下运行setup.py install。有些人会放弃并重新发明轮子。

    当然,所有这些都是错误的。安装软件包的 最简单 方法是使用Pip命令。但是PyPI甚至没有提到Pip。相反,它引导他们走下了一条古老而乏味的道路。

    错误:找不到vcvarsall.bat

    Numpy是Python最受欢迎的库之一。尝试使用Pip安装它,您会收到以下神秘错误消息:

    错误:找不到vcvarsall.bat

    很少有人能成功。

    为了进行比较,在相同情况下,Ruby会输出此消息,该消息说明了正在发生的事情以及如何修复它:

    请更新您的PATH以包含构建工具,或从http://rubyinstaller.org/downloads下载DevKit并按照http://github.com/oneclick/rubyinstaller/wiki/Development-
    Kit上的说明进行操作

    发布包很难

    Ruby和Nodejs随附功能齐全的软件包管理器Gem(自2007年起)和Npm(自2011年起),并培育了以GitHub为中心的共享社区。Npm使发布软件包就像安装它们一样容易,它已经有64k软件包。RubyGems列出了72k个软件包。古老的Python软件包索引列出41k

    历史

    面对“包含电池”的座右铭,直到2014年Python一直没有包装管理器发货。

    在Pip之前,事实上的标准是一个命令 easy_install。这是严重的不足。was no命令用于卸载软件包。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看