回答:
代わりに、Pythonがインストールされている適切なパスを使用してください。
#!c:/Python/python.exe
システムでUnixライクなパスをサポートしている場合(私はMSYSに詳しくありません)、python
実行可能ファイルへのパス、つまりの出力をいつでも入力できますwhich python
。
which env
and which python
およびand の出力は何type python
ですか?
あなたはWindows用のPythonランチャーに興味があるかもしれません
(シェルから)実行するとどうなりますか?
$ /usr/bin/env python
..?
インタラクティブなpythonセッションを開始すると、pythonが見つかります。(単に実行することもできます:)type python
。「そのようなファイルやディレクトリpython
はありません」と表示される場合は、PATHで見つかりません。以下を調整して問題を修正できるかどうかを確認します(path / to / python内のスペースが問題を引き起こす可能性があります)。
$ export PATH=$PATH:/path/to/python
$ /usr/bin/env python
問題の根本は、シバンのスペースが実行可能ファイルに追加の引数を提供するものとして解釈されるため、引数C:\Program Files\Python\python.exe
としてC:\Program
与えられFiles\Python\python.exe
ていると見なされることです。
Windows がcmd.exeやPowershellやその他のツールで実際に問題を起こす可能性があるとしても、Windowsは$HOME
ディレクトリProgram Files
やその他の場所のスペースを愛するので、これに対する最善の解決策は次のとおりです。
にPythonをインストールしC:\Python
、その中に存在するC:\Python
フォルダーpython.exe
とそのScripts
中に存在するディレクトリをPATH
システムまたはユーザーレベルの環境変数に追加します。
あなたが共存するにはPython 2.7.35および3.xが必要な場合は、にそれらをインストールC:\Python27
し、C:\Python36
そしてC:\Python37
名前の変更python.exe
にpython2.exe
、python36.exe
、python37.exe
、など、これらのフォルダとそのそれぞれの追加Scripts
にフォルダをPATH
。「デフォルト」にしたいPython 3バージョンを決定し、python3.exe
を使用するスクリプトを処理するために、そのフォルダーにコピーを作成することもできます!#/usr/bin/env python3
。
ユーザーのホームディレクトリにスペースがある場合、pip install --user somepackage
構文を使用すると問題が発生する可能性もあります。--user
あなたのホームディレクトリにデフォルト、およびスペースは、この場合にも物事をトリップします。回避策はここで説明されていますが、結局はPYTHONUSERBASEを環境にエクスポートすることになります。
export PYTHONUSERBASE=/myappenv
pip install --user SomePackage
またはWindows(Powershell)の場合:
$env:PYTHONUSERBASE='C:\PythonPkgs'
pip install --user SomePackage
env
、質問者が行うように、を使用することもできます。