2016-11-24 6 views
0

私はここで他の多くの答えを試してこれを試してみましたが、なんらかの理由でそれはできません。私は既にパーミッションを変更して、.pyをchmod +x <myscript.py>で実行可能にしました。ファイルを私の/ usr/local/binにコピーしました。これはOSXではデフォルトでPATHにありますが、まだ実行できません。私がディレクトリにいる場合を除いて、スクリプトです。どのようにPythonスクリプトをグローバルに実行可能にしますか? OSX

さらに、ヘッダーの仕組みについて少し混乱しています。私は現在#!/usr/bin/pythonを持っています。ディレクトリに一致するように#!/usr/local/binに変更したときに、スクリプトを実行したときに端末に「通訳が悪い」と言われました。

このトピックはここにたくさんありましたが、他の修正は機能していません。前もって感謝します。

+0

このスクリプトを '/ usr/local/bin'の外で実行しようとすると、どのようなエラーが発生しますか? – Matthew

+0

端末では '-bash:./Untitled.py:No such file or directory'と表示されます。 –

+0

とそれをどのように実行しようとしていますか? – Matthew

答えて

0

あなたは、このようなあなたのスクリプトを実行した場合:

./Untitled.py 

bashは、現在のディレクトリにあるスクリプトを見つけようとします - あなたは、この場合には(ファイルパスと相対的なものをスクリプトを呼び出してきたので、 )。あなたはこのようなスクリプトを実行する場合

しかし、:

Untitled.py 

バッシュは、その名前の実行のためにあなたのPATHを検索します。スクリプトを実行可能ファイル(chmod)にして、そのスクリプトがPATHのディレクトリにあると仮定すると、スクリプトが実行されます。彼女バングラインではなく、特定のPython(/usr/bin/python)にハードコーディングについて

は、より一般的なアプローチは、このようになります:

#! /usr/bin/env python 

スクリプトはPythonがでアクティブな方で実行されます現在のプロジェクトに応じて、virtualenvまたはpyenvを使用して、Pythonを切り替えることができます。

+0

ありがとうございました!私は./Untitled.pyとUntitled.pyを実行することの違いを認識しませんでした –

関連する問題