2


Macports と Python27 をインストールしました。アクティブにしましたが、動作しませんか? 何がうまくいかなかったのですか?brew や以前のポートのインストールなどをすべて削除し、新しいコピーを再度インストールする前に再起動しました。

前もって感謝します。
M

macbook-pro-15:~ MR$ sudo port select --list python
    Available versions for python:
        none
        python25-apple
        python26-apple
        python27 (active)
        python27-apple
    macbook-pro-15:~ MR$ python
    Traceback (most recent call last):
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 548, in <module>
        main()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 530, in main
        known_paths = addusersitepackages(known_paths)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 266, in addusersitepackages
        user_site = getusersitepackages()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 241, in getusersitepackages
        user_base = getuserbase() # this will also set USER_BASE
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 231, in getuserbase
        USER_BASE = get_config_var('userbase')
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 516, in get_config_var
        return get_config_vars().get(name)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 449, in get_config_vars
        import re
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 105, in <module>
        import sre_compile
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_compile.py", line 14, in <module>
        import sre_parse
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_parse.py", line 17, in <module>
        from sre_constants import *
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_constants.py", line 18, in <module>
        from _sre import MAXREPEAT
    ImportError: cannot import name MAXREPEAT
4

2 に答える 2

2

この問題は、以前に起動されたコマンドへのパスをキャッシュする bash が原因です。

短い修正は次のとおりです。

$ hash -d python
$ python

より長い話: 効率のために、bash は以前に起動されたコマンドへのパスをキャッシュします。macports を介して Python をインストールした後、システムの python が既に bash によってキャッシュされている場合、呼び出すpythonと引き続きシステムの python が呼び出されます ( which pythonmacports の python バージョンを出力しているにもかかわらず)

# Before installing macports
$ python -c 'print "Hello World!"'
Hello World!
$ which python
/usr/bin/python

# Install python27 via macports
sudo port install python27
sudo port select --set python python27

# The shell will still invoke the system python, despite the output of `which`
$ which python # macports
/opt/local/bin/python
$ hash -t python # system
/usr/bin/python
$ python # the shell invokes the executable from the cache, and this gives the error

# clear the cache
$ hash -d python 

# now python should work
python
于 2013-11-12T15:52:06.330 に答える
1

私は同じ問題を抱えていました。最終的にうまくいったのは、MacPortsを介してpythonをアンインストールして再インストールすることだけでした。

> sudo port uninstall python27
> sudo port install python27
> sudo port select --set python python27

これがインストールされPython 2.7.5 (default, Aug 1 2013, 01:01:17)ました。

アンインストールして再インストールしたら、必ずシェルからログアウトして、新しいシェルを開いてください。古いシェルでも同じ問題が発生します。

于 2013-09-18T21:56:57.963 に答える