私はかなり前から答えをウェブで探していましたが、これは私に本当に頭痛の種を与えています:
Ubuntu 12.04を使用していて、フルパスを使用せずにターミナルからPythonスクリプトを実行したいと考えています。そこで、以下を./bashrcに追加して、PATH変数に/ home / kyril / python /scripts/を追加しました。
kyrilpathvariable="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kyril/Python/scripts/:/home/kyril/Bash/scripts"
if [ "$kyrilpathvariable" = "$PATH" ]; then
echo PATH already exported
else
PATH=$PATH:/home/kyril/Python/scripts/
PATH=$PATH:/home/kyril/Bash/scripts/
export PATH
fi
(if句は必要ないことはわかっていますが、exec bashと入力した場合、PATHにすべてを2回含めるのは好きではありませんでした。)
問題:これは私のBashスクリプトで完全に機能するので、chmodを介して実行可能にした後、入力するだけ$ script.sh
で実行されます。ただし、入力$ python3 script.py
すると次のエラーが発生します。python3: can't open file 'script.py': [Errno 2] No such file or directory
スクリプトへのフルパスを入力すると、機能します。誰かが私が間違っていることを知っていますか?ディレクトリをPYTHONPATHに追加する必要がありますか?(私が理解したように、これはモジュールのインポートにのみ役立ちます)。
みんなありがとう!