2012-07-12 12 views
17

誰かが、easy_installで使われている実際のパッケージの名前と、Pythonモジュール名の背後にあるロジックを知っていますか?Pythonパッケージの名前を指定すると、インポートするモジュールの名前は何ですか?

私にビットunlogicalようだ(他の中で)いくつかの例:

  • 我々はeasy_install mysql-pythonを行いますが、インポートは、実際にimport MySQLdb
  • である私たちは、easy_install python-memcachedを行うが、インポートが実際にあるimport memcache (末尾dなし)

私は同等のものを見つける一貫した方法を見つけられませんでした。いくつかのモジュールでは、それを見つけるために多くのブラウジングが必要でした。私は間違って何をしていますか?

+3

それは、その中にパッケージやモジュールに名前を付けるためにどのようにパッケージメンテまでです。 –

+10

私は再投票することにしています。ちょうど良い答えがないので、それは良い質問ではなかったことを意味するわけではありません、私はハウスキーピングに合わせてそれが削除されて表示することは嫌です。 –

答えて

13

残念ながら、残念ながら、狂気への方法はありません。 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パッケージがリストされています。

幸い、PipというPython用のまともなパッケージマネージャがあります。 PipはRubyのGemに触発されていますが、いくつかの重要な機能(例:パッケージの一覧表示、upgrading en mass)が欠けています。皮肉なことに、Pip自体はcomplicated to installです。一般的な64ビットWindowsにインストールするには、ソースから2つのパッケージをビルドしてインストールする必要があります。これはプログラミングに新しい誰かを尋ねる大きなものです。

Pythonの開発者は、この欲求不満のすべてを無知にしています。なぜなら、ソースから快適な熟練プログラマーであり、パッケージ化されたPythonモジュールでLinuxディストリビューションを使用するからです。

Pythonにパッケージマネージャーが同梱されるまで、何千人もの開発者が不必要に車輪を改革する時間を無駄にします。


Python 3はパッケージングに関する多くの問題を解決します。そこにaren't any packages for Python 3

+1

私は確かにこの答えが部分的に舌であることを願っています。私はこの部分を自分自身に伝え続けます*深刻なことはできませんが、他の部分は上にスポットです... – delnan

+0

本当に悪いwin64にピップをインストールしていますか?私は通常、setuptoolsインストーラをダウンロードしてから 'easy_install pip'を実行します。私は32ビットのPythonを使用していますが、多分それが相違点です。 – obmarg

+0

そうです。 64ビットPython用の[setuptools](http://pypi.python.org/pypi/setuptools/)インストーラはありません。 "現在、提供されています。exeインストーラはdistutilsインストーラの互換性の問題により64ビットバージョンのPython for Windowsをサポートしていません "64ビットPythonをインストールしないように友人をお勧めします –

関連する問題