0

Distribute がインストールされていない Python に、使用可能な Python プログラムを配布するにはどうすればよいですか?

を使用して Windows Binary インストーラーを作成しましたpython setup.py bdist_wininstsetup.py にはコンソール スクリプト エントリ ポイントが含まれているため、自動スクリプト作成に従って、Windows .exe ファイルが作成さ%python%\Scriptsれ、宛先マシンに配置されます。

ただし、未使用の python インストールを使用してマシンでインストールされたスクリプトを実行すると、次の結果が得られます。

D:\Py3.2.5> scripts\foo.exe
Traceback (most recent call last):
  File "D:\Py3.2.5\scripts\foo-script.py", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resources という名前のモジュールは、 Distributeがインストールされていないためにこのエラーが発生したことを教えてくれません。

ユーザーに「プログラムをインストールする前に、この他のプログラムをインストールする必要があります」と言わなくて済むように、インストーラーに Distribute を含めるにはどうすればよいですか?

4

1 に答える 1

0

ああ、ついに何かを見つけました:

ユーザーのマシンに setuptools がインストールされていないか、インストールされていても正しいバージョンではない可能性があります。これを修正するのは簡単です。をダウンロードdistribute_setup.pyして、setup.py スクリプトと同じディレクトリに配置します。(リビジョン管理システムにも必ず追加してください。) 次に、スクリプトが setuptools から何かをインポートする前に、セットアップ スクリプトの一番上に次の 2 行を追加します。

import distribute_setup
distribute_setup.use_setuptools()

それでおしまい。distributed_setup モジュールは、ターゲット システムに存在しない場合、PyPI から setuptools の一致するバージョンを自動的にダウンロードします。setuptools の更新バージョンをインストールするときはいつでも、プロジェクトの distributed_setup.py ファイルも更新して、一致するバージョンがターゲット マシンにインストールされるようにする必要があります。

于 2013-05-29T07:36:27.873 に答える