gpt4 book ai didi

python - 给定 Python 包的名称,要导入的模块的名称是什么?

转载 作者:IT老高 更新时间:2023-10-28 22:19:18 31 4
gpt4 key购买 nike

有人知道 Python 模块名称与 easy_install 中使用的实际包名称背后的逻辑吗?

一些(除其他外)对我来说似乎有 pip 不合逻辑的例子:

  • 我们做easy_install mysql-python,但是import其实是import MySQLdb
  • 我们做了easy_install python-memcached,但是导入的其实是import memcache(没有尾随的d)

我没有找到一致的方法来找到等价物。对于某些模块,我花了很多时间浏览才能找到它。我做错了什么?

最佳答案

很遗憾,这种疯狂没有办法。 package index 中的名称独立于您 import 的模块名称。灾难性的some packages share module names .如果您同时安装两者,您的应用程序将以偶数赔率中断。 (Ruby has this problem too)


Python 中的打包通常很糟糕。根本原因是该语言没有包管理器。 Ruby 和 Nodejs 附带功能齐全的包管理器 Gem 和 Npm,并培育了以 GitHub 为中心的共享社区。 npm 使 publishing packages就像安装它们一样简单。 Nodejs 于 2009 年问世,已经拥有 14k packages .古老的 Python 包索引列出了 24k。 Ruby Gems 列出了 44k 个包。

幸运的是,有一个不错的 Python 包管理器,名为 Pip。 . Pip 的灵感来自 Ruby 的 Gem,但缺少一些重要功能(例如,列出包和 upgrading en masse)。具有讽刺意味的是,Pip 本身是 complicated to install .在流行的 64 位 Windows 上安装需要从源代码构建和安装两个包。对于刚接触编程的人来说,这是一个很大的要求。

Python 的开发人员对所有这些挫折一无所知,因为他们是经验丰富的程序员,乐于从源代码构建,并且他们使用带有打包 Python 模块的 Linux 发行版。

在 Python 附带包管理器之前,成千上万的开发人员将不必要地浪费时间重新发明轮子。


Python 3 解决了很多打包问题。有aren't any packages for Python 3 .

关于python - 给定 Python 包的名称,要导入的模块的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453866/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com