同じ問題が発生しましたが、Windowsユーザー(Linuxから)用にコードをパッケージ化する必要があるという状況で発生しました。私のパッケージには、コマンドラインオプションを備えた多数のスクリプトが含まれています。
これらのスクリプトをWindowsユーザーのマシンの適切な場所にインストールして、コマンドラインから呼び出すことができるようにする必要があります。パッケージはおそらくユーザーフレンドリーであるため、これらのスクリプトを実行するためにレジストリを変更するようにユーザーに依頼することは不可能です。
Continuumの人々がAnacondaパッケージに付属するPythonスクリプトに使用するソリューションに出くわしました。例については、Anaconda/Scriptsディレクトリを確認してください。
Pythonスクリプトの場合、aとatest
の2つのファイルを作成します。test.bat
test-script.py
test.bat
次のようになります(目的に合わせて調整した相対パスを使用して呼び出し中の.bat
ファイル):Anaconda\Scripts
python.exe
@echo off
set PYFILE=%~f0
set PYFILE=%PYFILE:~0,-4%-script.py
"python.exe" "%PYFILE%" %*
test-script.py
実際のPythonスクリプトは次のとおりです。
import sys
print sys.argv
これらの2つのファイルをローカルディレクトリに残しておくと、次のようにして.bat
ファイルからPythonスクリプトを呼び出すことができます。
test.bat hello world
['C:\\...\\test-scripy.py', 'hello', 'world']
両方のファイルを自分の上の場所PATH
(など)にコピーする場合は、接尾辞Anaconda\Scripts
を省略してスクリプトを呼び出すこともできます.bat
test hello world
['C:\\...Anaconda\\Scripts\\test-scripy.py', 'hello', 'world']
免責事項:私は何が起こっているのか、これがどのように機能するのかわかりませんので、説明をいただければ幸いです。