web-dev-qa-db-ja.com

方法:Macports select python

私が入るとき:

port select --list python

これが結果です:

Available versions for python:
    none
    python25 (active)
    python25-Apple
    python26-Apple
    python27
    python27-Apple

pythonバージョン2.5を使用すると思います。代わりに "python"と入力すると、バージョン2.7がアクティブになります。バージョン2.5に変更するにはどうすればよいですか?

Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
30
kadrian

これが起こる理由

MacPortsは、バイナリを/opt/localデフォルト にインストールします。

また、Macには preinstalled pythonがあります。pythonと入力するだけで、プリインストールされたpython MacPortsインストールの影響を受けないバージョン。

pythonと入力するだけで実行されるバージョンを確認するには

which python

Macポートバージョンを起動するには

/opt/local/bin/python2.5

解決

常にMacPortsバイナリを使用する場合は、/opt/local/binが表示されるようにパスを変更できますbefore/use/local/binなど。

/opt/local/binなどは、MacPortsによって〜/ .tcshrcに追加されます。また、〜/ .profileと〜/ .bash_profileも確認してください。これらはMacのデフォルトです。

ポートでバージョンを選択する

最初にport select --list pythonと入力してインストール済みバージョンをリストし、次にたとえばSudo port select --set python python27と入力して2.7を選択します。詳細については、port help selectと入力してください。

24
vidstige

使用する

osx$ port select --list python

利用可能なPythonインストール。

次に、「-set」オプションを「port select」に使用して、使用するポートを設定します。

osx$ Sudo port select --set python python27
37
easyE

シェルはおそらくpythonの呼び出しをキャッシュし、再度PATHを調べません。したがって、同じシェルセッションでport selectの前にpythonを呼び出した場合、このキャッシュをクリアする必要があります。

Bashの場合、次を使用してキャッシュをクリアします

hash -r

または、単に新しいターミナルウィンドウを開きます。

6
raimue

Pythonのインストール先:

  • デフォルト(Apple):/usr/local/bin
  • MacPorts:/opt/local/bin
  • python.org:/Library/Frameworks/python...

デフォルトpythonはシステムによって必要とされるので、混乱させないことが最善です。MacPortsPythonパッケージをとても簡単に入手できるので便利です。

リンクをショートカットとして設定できます:

Sudo ln -s /opt/local/bin/python /usr/local/bin/ppython

次に、コマンドラインからMacPortsバージョンを使用します。

ppython script.py
5
Nick

別の方法は、バージョン番号が表示されないように、すべてのJupyterバイナリをシンボリックリンクすることです。

cd /opt/local/bin
JUPYTER_VERSION=2.7
for a in jupyter*$JUPYTER_VERSION; do Sudo ln -s $a $(echo $a | sed -e 's:-'$JUPYTER_VERSION':g'); done
0