私はpython_select
を使っていました。例えば、django-admin.py runserver
のようなスクリプトを実行するためのデフォルトのPythonを変更していないようです。Macportsはスクリプトを実行するためのデフォルトのPythonインタプリタを選択しますか?
どうすれば変更できますか?
私はpython_select
を使っていました。例えば、django-admin.py runserver
のようなスクリプトを実行するためのデフォルトのPythonを変更していないようです。Macportsはスクリプトを実行するためのデフォルトのPythonインタプリタを選択しますか?
どうすれば変更できますか?
/usr/bin/python
があります。通常、MacPortのバイナリフォルダ(/opt/local/bin/python
)よりもパスの方が早い(優先度が高い)。 python_select
スクリプトは/opt/local/bin/python
しか変更されないため、パス上に他のpython
バイナリがないことを確認する必要があります。 (rootとして)
ソリューション:
mv /usr/bin/python /usr/bin/python.orig
ln -s /opt/local/bin/python /usr/bin/python
port select --set python python26
があなたの意図したPythonのバージョンと3行目にpython26
を置き換えることを確認してください。
MacPort 2.0.0で2,3日前に私の仕事をしてくれました。古いMacPortsライブラリをお持ちの場合は、アップグレードするか、port select --set python
の代わりにpython_select
を使用してください。
より簡単で安全なアプローチは、あなたのPATHの前に/ opt/local/binを置くことです。あなたはbashシェルで次の操作を行うことができたら、これを行うには : '' '輸出PATH =は/ opt/local/binに:$ PATH''' または編集〜/ .bash_profileのと最後に行を追加します。ファイルの システムのPythonを壊すように修正することはお勧めできません。システムのPythonを使用するMacのユーティリティやツールを壊す可能性があります。 編集:書式設定。 –
@MickT:あなたが提案したことは、より良いアプローチだと思ったからです。 '/ opt/local/bin'が私の' PATH'変数の一番上にあることを確認できますが、 'which python'と入力すると'/usr/local/bin/python'で始まるリストが得られます。なぜ 'which'が' PATH'とは異なる順序を与えているのか? – jvriesem
@jvriesem '' '/ usr/local/bin /' 'があなたのパスの先頭にある場合、' '/ usr/local/bin/python'''が最初に見つかるでしょう。私は何かを誤解していますか?もし私がいたら、以下の出力を投稿してください: echo $ PATH –
これはスーパーユーザの方がいいかもしれないと思います... – thegrinner
.pyファイルの '#!'の最初の行で上書きできる可能性があります。 –
はい、それは実際には '#! 'で上書きできますが、OPの質問は特にデフォルトのPythonインタプリタに関するものです。 – fviktor