2016-07-04 16 views
8

OS X El Capitan(10.11.5)でPython(3.5.2)をビルドしようとしています。しかし、makeにしようとするとエラーに遭遇します。エラーはに関連しているようです。OS XでPython 3をビルドする:[Python/importlib.h]エラー133

/usr/local/src/Python-3.5.2 $ make 
if test "no" != "yes"; then \ 
     ./Programs/_freeze_importlib \ 
      ./Lib/importlib/_bootstrap.py Python/importlib.h; \ 
    fi 
dyld: lazy symbol binding failed: Symbol not found: _getentropy 
    Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib 
    Expected in: /usr/lib/libSystem.B.dylib 

dyld: Symbol not found: _getentropy 
    Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib 
    Expected in: /usr/lib/libSystem.B.dylib 

/bin/sh: line 1: 56666 Trace/BPT trap: 5  ./Programs/_freeze_importlib ./Lib/importlib/_bootstrap.py Python/importlib.h 
make: *** [Python/importlib.h] Error 133 
/usr/local/src/Python-3.5.2 $ 

私のステップon GitHubが表示されます。

makeまでの全ターミナル出力は、Gistです。


私は完全にエルキャピタンは、Python 2.7.10が付属して、あなたは簡単に公式のOS Xインストーラパッケージまたは自作経由でのPython 3.5.2をインストールすることができ、これは、学術的な運動であることを認めます。

Using Python on Unix platformsのドキュメントには、ビルド手順が記載されています。 Using Python on a Macintoshのドキュメントでは、特にOS Xインストーラパッケージの使用が記載されています。

ただし、Macでビルドすることは可能です。

Mac OS Xを実行しているMacintosh上のPythonは、原則として他のUnixプラットフォーム上のPythonと非常によく似ていますが、IDEやPackage Managerなどの多くの追加機能があります。

この時点で、私はこれらの追加機能について心配していません。なぜ私がmakeエラーを受け取っているのか不思議です。

+0

自分でビルドしたいと考えると少し関係がありませんが、 'brew install python3'はあなたを助けますか? – Arqu

+1

はい、私はHomebrewに行ってきましたが、私はそれを構築することに興味があります。 – lukejanicke

+0

'configure 'に' --enable-universalsdk'を追加すると問題が解決されますか? –

答えて

5

固定。

./configureの出力では、私は/Applications/Xcode-beta.app/Contents/Developer/への参照に気づいた。私は数日前にXcode 8(ベータ版)をインストールしました。 (Xcodeの7.3.1に)戻って、通常のコマンドラインツールに切り替えた後

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 

makeに成功しました。完璧ではない。

Python build finished successfully! 
The necessary bits to build these optional modules were not found: 
_dbm     _gdbm     _sqlite3   
_ssl     nis     ossaudiodev   
spwd     zlib          
To find the necessary bits, look in setup.py in detect_modules() for the module's name. 

Failed to build these modules: 
_lzma     _tkinter 

私はこれらのモジュールは必要ないと思っています。

このGistには、./configuremakeの完全出力を入れました。私はmake installの出力が長すぎるため、makeの警告とエラーだけを繰り返すように見えました。

ノート

  • 私は--enable-frameworkまたは--enable-universalsdkを使用していませんでした。
+0

Xcode 8(MacOS Sierra 10.12.6)でも、おそらく別の理由で同様のエラーが発生しました。私の場合、MacPortsの前にデフォルトパス( '/ usr/...')を置いて( 'gcc'に関する)、[CPythonリポジトリ](https://github.com)の中で' make distclean '/python/cpython)を実行します。 –

+0

関連:https://stackoverflow.com/a/36790088/1959808 –

5

もっと良い解決策はxcode-select --installだと思います。

Xcodeを8(ベータ版)にアップデートする場合は、xcode-select --installを再度実行して、すべてのビルドツールをインストールする必要があります。

私はあなたと同じ問題に遭遇し、xcode-select --installを実行した後、Xcode8でbrewを使ってPythonを正常にインストールできます。

ここで同じ問題を抱える他の人に役立つことを願っています。

+0

ありがとうございます。私はSymbolが見つかりませんでした:_getentropyこれは私が問題を解決し、python3(brew install --upgrade python3)をインストールするのを助けました。 – apadana

関連する問題