当前位置: 首页 > 面试题库 >

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

陶寒
2023-03-14
问题内容

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

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


问题答案:

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命令用于卸载软件包。



 类似资料:
  • 问题内容: 我需要运行python脚本,并确保它在终止后将重新启动。我知道有一个称为supervisor的UNIX解决方案。但是不幸的是,必须运行我的脚本的服务器在Windows上。您知道哪种工具有用吗?谢谢 问题答案: 尽管这里有大量的免责声明,但是您可以在Windows中使用Cygwin运行Supervisor 。事实证明,Cygwin在模拟Posix环境方面走了很长的路要走,以至于实际上Su

  • 用命令去下载,升级,管理安装在系统上的软件。Windows 平台用 chocolatey,macOS 可以使用 Homebrew。

  • 一、简介 V9系统可以自定义开发模块(详情请参考V9二次开发指南)。可对模块的安装,卸载等管理。 二、功能演示 1.安装 将已经创建好的模块放在指定位置,运行后台后,在“模块管理”处会找到你创建的模块。如下图: 如模块配置和代码无问题,系统将提示安装成功,否则提示错误。安装成功后你就可以使用该模块了(详情请参考V9二次开发指南)。 2.卸载 安装后的模块如果你不需要,可进行卸载。如下图:

  • 一、简介   “模块管理"用于用户管理系统自带或者用户自定义开发模块的设置以及配置的等。这里且说系统自带。 二、功能演示 表单向导 广告 新闻心情 短消息 投票 友情链接 评论 公告 模块管理 全站搜素 数据源 点评模块 物流模块 在线充值 短信平台 外部数据导入 手机门户

  • 问题内容: 我想用三个或更多变量求解线性方程。python中有一个好的库吗? 问题答案: 参见http://sympy.org/和http://numpy.scipy.org/。 具体来说,http://docs.scipy.org/doc/numpy/reference/routines.linalg.html 和http://docs.sympy.org/0.7.0/tutorial.html

  • 本文向大家介绍Python使用进程Process模块管理资源,包括了Python使用进程Process模块管理资源的使用技巧和注意事项,需要的朋友参考一下 进程Process是对各种资源管理的集合,包含对各种资源的调用、内存的管理、网络接口的调用;一个进程Process可以包含多个子进程,启动一个进程的时候会自动创建一个线程,进程里的第一个线程就是主线程(即python __name__ == ‘