9

Ubuntuを使用していました。

インストールされている多くの Python ライブラリが と の両方に入っていることがわかりまし/usr/lib/python/usr/lib64/python

モジュール オブジェクトの場合print、モジュール パスは、モジュールが に存在することを示していました/usr/lib/python

では、なぜ/usr/lib64/pythonディレクトリが必要なのでしょうか? これら 2 つのディレクトリの違いは何ですか?

ところで

egg-info両方のディレクトリに存在する一部のパッケージ管理スクリプト とは、実際には のパッケージへのリンク/usr/shareです。

ほとんどの Python モジュールは単なるリンクですが、soファイルはそうではありません。

4

2 に答える 2

8

Debian(そしておそらくそれは派生物であり、特にubuntu)は両方のアーキテクチャに/ usr/libを使用します。/ usr / lib64は、互換性の理由から/ usr/libへのシンボリックリンクとして提供されています。一部の新しいアプリケーションは/usr/ lib64でライブラリを探している可能性がありますが、一部のレガシーコードは/ usr/libを使用している可能性があります。他のディストリビューションでは、32ビットと64ビットのライブラリが同じマシンにインストールされているマルチアーキテクチャサポートを提供できます。これらのライブラリは、それに応じて/ usr/libと/usr/lib64に配置されます。この例として、ここで説明するArchLinuxがあります。

一部のPythonライブラリはとにかくプラットフォームに依存しないため(.pyコード)、メンテナンスの労力を最小限に抑えるために、両方のアーキテクチャに対して単一のパッケージを作成することは理にかなっています。このパッケージは、libとlib64の両方にインストールされるか、すでに指摘したように、libとlib64の両方からシンボリックリンクされた単一のディレクトリにインストールされます。

于 2012-07-06T23:43:26.977 に答える
4

ライブラリの 64 ビット バージョンは?

実行している Python のバージョンは何ですか? 32 ビット バージョンを実行している場合、これらのファイルはおそらく必要ありません。

于 2012-07-06T23:25:08.373 に答える