echo $ PATHはPythonスクリプトへのパスを示していますが、実行できません

pat_krat

私はシェルの使用に不慣れで、$HOMEすべてのpythonスクリプトを配置できるディレクトリを作成し、そのディレクトリへのパスを設定して、Macの任意のフォルダに移動し、特定のファイルでそれらのスクリプトを実行できるようにしたいと考えていました。スクリプトは、それらのスクリプトへの入力として機能するファイルと同じディレクトリ内に含まれている必要はありません。

私はこれを読んで.zshrcファイルに追加しました

export PATH="$HOME/python_functions/bin:$PATH"

それから私はと呼ばれるスクリプトを追加sleep_plotter.pyするpython_functions/bin私も、すべて私の将来のスクリプトを置くことを予定しておりますところで、。

ただし、そのスクリプトへの入力として使用するテキストファイルを含むフォルダーに移動し、と入力するとpython sleep_plotter.py 113testCtM113.txt、最後の引数はスクリプトへのテキストファイル入力であり、次のエラーメッセージが表示されます。

python: can't open file 'sleep_plotter.py': [Errno 2] No such file or directory

しかし、を使用してパスを呼び出すと、次のようecho $PATHに表示されます。

/Users/myname/python_functions/bin: 

このことから、Pythonコマンドを実行すると、Pythonがそのディレクトリをsleep_plotter.py検索していることがわかりました。したがって、このファイルが含まれていない別のフォルダにいる場合でも、Pythonを実行できるはずです。

Mac OSX 10.11.2、zsh、およびAnaconda2.3.0を使用しています。

techraf

PATH変数は、コマンドの実行時に検索されるディレクトリを定義します。ただし、を実行するとpython sleep_plotter.py 113testCtM113.txtsleep_plotter.pypythonプログラム(コマンド)の引数になります。シェルはPATHを見つけるためpython使用しますが、引数は使用ません。

スクリプトに実行可能属性を追加できます。

$ chmod +x /Users/myname/python_functions/bin/sleep_plotter.py

Pythonスクリプトの先頭(最初の行)にシバンシーケンスを追加します。

#!/usr/bin/env python

そして、コマンドとして直接スクリプトを実行します。

$ sleep_plotter.py 113testCtM113.txt

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

echo $ HISTSIZEは、シェルスクリプトを介して実行すると印刷されませんが、コマンドラインで機能します

分類Dev

echo $ PATHは、シェルスクリプトで作成した「エクスポートパス」を反映していません

分類Dev

bashスクリプトでechoを使用して新しい行を機能させることができません

分類Dev

スクリプトの印刷コマンドをBashしますが、echoコマンドは印刷しません

分類Dev

BASH:grepはシェルスクリプトでは機能しませんが、echoは正しいコマンドを示し、コマンドラインで機能します

分類Dev

ffmpegを使用してyoutube-dlの出力をスクリプトにパイプすると、echoを使用しても問題ないように見えますが、実行時にエラーが返されます

分類Dev

echoコマンドは、手動で実行した場合は機能しますが、bashスクリプトとして挿入した場合は機能しません。

分類Dev

echo *とecho。*の結果

分類Dev

PHPスクリプトのecho内のJavaScript関数が呼び出されていません

分類Dev

$(echo $RANDOM | cut -b 1-2) は、シェル スクリプトで空の行を返します。

分類Dev

PHPクラスはechoを返しますが、boolは返しません

分類Dev

Bashのトリプルバックスラッシュ「echo-e」は奇妙な動作をしています

分類Dev

「sshuser @ host echo $ PATH」は、リモートパスではなくローカルパスを表示します

分類Dev

bashスクリプトがechoステートメントを出力しないのはなぜですか?

分類Dev

"cd` echo $ 0 | sed's / \(。* \)\ /.*/ \ 1 / '` "はbashスクリプトで何をしますか?

分類Dev

bashで「execechosome; echo test」を実行しても、「sometest」は出力されませんか?

分類Dev

「echo」を介して取得した出力は、ターミナルに貼り付けるとコマンドとして機能しますが、スクリプトでは機能しません

分類Dev

envは機能していませんが、echoは変数を表示します

分類Dev

\ echoはpsqlにパスされたヒアドキュメントで機能していません

分類Dev

変数を割り当てただけですが、echo $ variableは別のことを示しています

分類Dev

Popen("cmd.exe echo a", shell=True) が "echo" を実行していないのはなぜですか?

分類Dev

スクリプトがechoステートメントを出力しません(警告を抑制する必要もあります)

分類Dev

Pythonスクリプトの出力をループするときにbashの `echo`で問題が発生する

分類Dev

minicomでスクリプトを実行する:不明なコマンド「echo」

分類Dev

Laravel Echo、laravel-echo-server、socket.ioでのブロードキャストは機能しません

分類Dev

このCMakeスクリプトでbash / echoが機能しないのはなぜですか?

分類Dev

引数を呼び出して他のスクリプトに渡し、echoを保存します

分類Dev

スーパーバイザーを使用してlaravel-echo-serverを起動できません

分類Dev

$PATH by itself vs echo $PATH

Related 関連記事

  1. 1

    echo $ HISTSIZEは、シェルスクリプトを介して実行すると印刷されませんが、コマンドラインで機能します

  2. 2

    echo $ PATHは、シェルスクリプトで作成した「エクスポートパス」を反映していません

  3. 3

    bashスクリプトでechoを使用して新しい行を機能させることができません

  4. 4

    スクリプトの印刷コマンドをBashしますが、echoコマンドは印刷しません

  5. 5

    BASH:grepはシェルスクリプトでは機能しませんが、echoは正しいコマンドを示し、コマンドラインで機能します

  6. 6

    ffmpegを使用してyoutube-dlの出力をスクリプトにパイプすると、echoを使用しても問題ないように見えますが、実行時にエラーが返されます

  7. 7

    echoコマンドは、手動で実行した場合は機能しますが、bashスクリプトとして挿入した場合は機能しません。

  8. 8

    echo *とecho。*の結果

  9. 9

    PHPスクリプトのecho内のJavaScript関数が呼び出されていません

  10. 10

    $(echo $RANDOM | cut -b 1-2) は、シェル スクリプトで空の行を返します。

  11. 11

    PHPクラスはechoを返しますが、boolは返しません

  12. 12

    Bashのトリプルバックスラッシュ「echo-e」は奇妙な動作をしています

  13. 13

    「sshuser @ host echo $ PATH」は、リモートパスではなくローカルパスを表示します

  14. 14

    bashスクリプトがechoステートメントを出力しないのはなぜですか?

  15. 15

    "cd` echo $ 0 | sed's / \(。* \)\ /.*/ \ 1 / '` "はbashスクリプトで何をしますか?

  16. 16

    bashで「execechosome; echo test」を実行しても、「sometest」は出力されませんか?

  17. 17

    「echo」を介して取得した出力は、ターミナルに貼り付けるとコマンドとして機能しますが、スクリプトでは機能しません

  18. 18

    envは機能していませんが、echoは変数を表示します

  19. 19

    \ echoはpsqlにパスされたヒアドキュメントで機能していません

  20. 20

    変数を割り当てただけですが、echo $ variableは別のことを示しています

  21. 21

    Popen("cmd.exe echo a", shell=True) が "echo" を実行していないのはなぜですか?

  22. 22

    スクリプトがechoステートメントを出力しません(警告を抑制する必要もあります)

  23. 23

    Pythonスクリプトの出力をループするときにbashの `echo`で問題が発生する

  24. 24

    minicomでスクリプトを実行する:不明なコマンド「echo」

  25. 25

    Laravel Echo、laravel-echo-server、socket.ioでのブロードキャストは機能しません

  26. 26

    このCMakeスクリプトでbash / echoが機能しないのはなぜですか?

  27. 27

    引数を呼び出して他のスクリプトに渡し、echoを保存します

  28. 28

    スーパーバイザーを使用してlaravel-echo-serverを起動できません

  29. 29

    $PATH by itself vs echo $PATH

ホットタグ

アーカイブ