0

Mac にソースから Python をインストールしようとしています。(OS X 10.6.2、Python-2.6.5.tar.bz2)以前にこれを行ったことがあり、簡単でしたが、何らかの理由で、今回は./configure、およびmakeの後にsudo make install、 /usr/local/... にあります。.py ファイルは問題ありませんが、.so ファイルは問題ありません...

RobsMac Python-2.6.5 $ sudo make install
[...]
/usr/bin/install -c -m 644 ./Lib/anydbm.py /usr/local/lib/python2.6
/usr/bin/install - c -m 644 ./Lib/ast.py /usr/local/lib/python2.6
/usr/bin/install -c -m 644 ./Lib/asynchat.py /usr/local/lib/python2.6
[ ...]
build_scripts の
実行 install_lib の
作成 /Users/rob/Library/Python
の作成 /Users/rob/Library/Python/2.6 の
作成
/Users/rob/Library/Python/2.6/site-packagesの作成10.4-x86_64-2.6/_AE.so -> /Users/rob/Library/ Python/2.6/site-packages
コピー build/lib.macosx-10.4-x86_64-2.6/_AH.so -> /Users/rob/Library/ Python/2.6/サイトパッケージ
build/lib.macosx-10.4-x86_64-2.6/_App.so をコピー -> /Users/rob/Library/ Python/2.6/site-packages
[...]

後で、これにより、これらの .so ファイルを必要とするインポートが失敗します。例えば...

RobsMac Python-2.6.5 $ python
Python 2.6.5 (r265:79063、2010 年 4 月 28 日、13:40:18)
[GCC 4.2.1 (Apple Inc. ビルド 5646) (ドット 1)] ダーウィンで
「ヘルプ」と入力詳細については、「著作権」、「クレジット」、または「ライセンス」を参照してください。
>>> zlib
トレースバックをインポートします (最新の呼び出しは最後です):
    ファイル ""、1 行目、
ImportError: zlib という名前のモジュールはありません

何が間違っているのですか?

ありがとう、ロブ

4

3 に答える 3

2

ドー。私は自分の質問に答えました。最近、愚かな理由で ~/.pydistutils.cfg ファイルを作成しました。そのファイルを削除するのを忘れていました。その内容は次のとおりです。

[インストール]
install_lib = ~/Library/Python/$py_version_short/site-packages
install_scripts = ~/bin

make installを呼び出しsetup.py、このファイルは通常のsetup.py動作をオーバーライドしていました。

ロブ

于 2010-04-28T08:41:11.813 に答える
1

一般に、Python (またはソースから直接何か) をシステムで既に利用できる場合や、Python をインストールしてくれるパッケージ マネージャーがある場合にインストールすることは、あまり良い考えではありません。Python を手動でインストールしないことを強くお勧めします... Mac OS X 10.6 Snow Leopard には、箱から出してすぐに Python 2.6 が付属しています。Python 2.6 の新しいバージョンが必要な場合は、MacPorts をインストールして、次を使用する必要があります。

sudo ポート インストール python26 python_select

を使用しpython_selectて、システムのバージョンと MacPort のバージョンを切り替えることができます。

ただし、ソースから手動でインストールする場合は、「make distclean」を実行 (またはコードを個別に展開) してから、「./configure --help」を実行して完全なリストを表示します。構成オプション。Mac OS X では、デフォルトで /usr/local 以外に設定されている可能性があります。その場合、「./configure --prefix=/usr/local」を指定して configure を呼び出すことにより、強制的にその場所にインストールすることができます。

于 2010-04-28T07:26:19.457 に答える
0

パラメータまたは変数が期待するものを確認しましたか? おそらく、その動作をオーバーライドするために使用できる make 変数があります。いずれにしても、MacPortsを試しましたか? あなたが達成しようとしていることに対するより良い解決策かもしれません。

于 2010-04-28T07:21:54.640 に答える