distutils を使用して、この setup.py で Python パッケージをインストールしました。
import distutils.core
args = {
'name' : 'plugh',
'version' : '1.0',
'scripts' : [ "scripts/plugh" ],
'packages': [ "plugh" ],
}
d = distutils.core.setup(
**args
)
Linux/Mac では、期待どおりに動作します。
% plugh
hello world
%
Windows では、スクリプト「plugh」は実行されません。
C:\Python25\Scripts>plugh
'plugh' is not recognized as an internal or external command,
operable program or batch file.
C:\Python25\Scripts>
http://bugs.python.org/issue7231で、Python をインストールするときに \Scripts ディレクトリが PATH に追加されないというバグ レポートを見つけたので、そのチケットに記載されている回避策を適用しました (つまり、C:\Python25\Scripts を追加します)。へ)
C:\Python25\Scripts>path
PATH=c:\Python25\Scripts;C:\Program Files\Legato\nsr\bin;C:\WINDOWS\system32;C:\
WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;c:\python2
5;c:\local;C:\WINDOWS\system32\WindowsPowerShell\v1.0
これは Windows でしか動作しないものですか? もしそうなら、WindowsマシンでPythonスクリプトをどのように使用することになっていますか?
Windows を検出し、次のようなものを含む「plugh.bat」と呼ばれる追加のスクリプトをリストに追加できると思います。
@echo off
c:\python25\python.exec c:\python25\scripts\plugh %1 %2 %3 %4 %5 %6 %7 %8 %9
しかし、それは本当に正しい答えですか?distutils に Windows 用のすべてのカスタマイズが含まれているため、それよりも優れた答えがあると思います。