2017-11-21 10 views
0

私はWindowsの下の任意のフォルダから実行したいpythonスクリプトのフォルダを持っています。 Pythonインタプリタとして私はPython 3.6をMinicondaと一緒にインストールしています。Windowsのpowershellの下にある任意のフォルダからpythonスクリプトを実行する

たとえば、C:\Users\name\my_scriptsというフォルダには、次の内容のtest.pyというスクリプトがあります。

print('test') 

このスクリプトを実行しているフォルダに移動した後、スクリプトを実行して、次の出力を生成します。

PS C:\Users\name\my_scripts> python test.py 
test 

PS C:\Users\name\my_scripts> cd.. 
PS C:\Users\name> python test.py 
C:\Users\name\Miniconda3\python.exe: can't open file 'test.py': [Errno 2] No such file or directory 

私はPathC:\Users\name\my_scriptsを追加してみました。 powershellの任意のフォルダにtest.pyと入力すると、デフォルトのテキストエディタでスクリプトが開きますが、スクリプトフォルダ以外の場所にはpython test.pyという形式でスクリプトを実行すると、ファイルが見つかりませんでした。

スクリプトフォルダを含む%PYTHONPATH%環境変数を作成しても機能しませんでした。私が理解する限り、この環境変数は特定の場所からモジュールをインポートするために使用されているが、モジュール自体は実行しないため、これは正常です。

任意の場所からmy_scriptsフォルダー内のスクリプトを実行する方法はありますか?

+1

'python my_scripts \ test.py'は動作するはずです。 – MarAja

答えて

0

  • のpythonは
  • メイクを./path/to/scriptあなたのファイルのパッケージ、つまり.whlファイルとpipをインストールします(conda環境でピップインストールを警告しますが)。
  • pythonを起動する前に自分のcdフォルダをスクリプトフォルダにコピーします。 .batファイル./Miniconda/Scriptsに置いてください。あなたがcondaプロンプトを起動したときに動作します。

残念ながら醜いですが推奨されませんが動作します。 まず、pythonセッションでどのフォルダがsys.pathにあるのかを確認してから、そこのフォルダにyour_script.pyをコピーします。 Pythonを実行することでそのスクリプトを保持することができます-m your_script.py your_scriptはモジュールではないので、お勧めできませんが、あなたの探しているものなら早急に進むと不平を言います。

hm実際には.batファイルを作成する必要があります。 おそらくそれをmp.bat と名付け、cdを実行してcmd行オプションを解析することができるので、ps行は単純に次のようになります。 mp.bat test.py あなたが探しているようですあなたは.batファイルに引数を取る方法を見つけるでしょう。

+0

私のファイルをパッケージとしてインストールする方法を教えてください。 'python test.py'と打って実行すればいいですか? – Jonas

+0

python -m test.py python -m this.pyを試してみてください... – ahed87

0

python my_scripts\test.pyが有効です。

より一般的には、あなたとインタプリタを使用してPythonスクリプトを実行します。私はあなたがそれに3種類の方法を行うことができると思いpython PATH_TO_SCRIPT

+0

これは私のスクリプトを 'Path'に追加することで回避しようとしているものです。私はそれらを使用している間私のスクリプトへのパス全体を入力しないでください。代わりに 'path \ to \ python \ pythonの代わりに' python'とタイプしてPythonを実行するときのように、どこからでも名前で呼び出すことができるようにしたいと思います。exe' – Jonas

+0

編集: 'python my_scripts \ test.py'でスクリプトを実行すると残念なことに動作しません。 スクリプトディレクトリのパスを 'Path'ユーザ変数に追加しようとしましたが、' my_scripts'フォルダを指し示す 'my_scripts'ユーザ変数を作成しようとしました – Jonas

+0

cmd.exeからスクリプトを実行できることがわかりましたPython%my_scripts%\ test.py'を入力することで、 '' Python''を呼び出すことができます。これは、ユーザ変数として宣言されているためです。それでも、私は短いPowerShellソリューションを好むでしょう – Jonas

関連する問題