2011-08-04 4 views
2

私は最近、.msiインストーラを使用してPython 2.7.1のインストールを2.7.2にアップグレードしました。しかしその後、私はデフォルト値がsys.pathであったことを見て、 'C:\ Windows \ system32 \ python27.zip'のエントリに気づいた。正確に何が入っているのか分かりませんが、私はその内容をチェックするためにZipユーティリティを使ってファイルを開こうと決めましたが、すぐにファイルが存在しないことがわかりました(python27.dllですが)。'C:¥Windows¥system32¥python27.zip'ファイルがありません

どうか私は今何か問題があると思っています。私が頻繁に使用するいくつかの既存のPythonプログラムは、問題なく動作するように見えるので、インストールが乱れているかどうか(あるいは修正方法)を確認できません。

更新:

私の知るとPEP273を読んでいるので、.zipファイル・モジュールについて知っています。それは私が求めていることではありません。私が知りたいのは、私のsys.pathに言及されているにもかかわらず、私のシステムにpython27.zipがインストールされていないということですか?私は、標準のPythonライブラリをインポートする際に問題に遭遇したことは一度もありません。

答えて

5

From PEP 273 -- Import Modules from Zip Archives

のsys.pathは現在、デフォルトのディレクトリ名を持っているのと同じように、デフォルトのzipアーカイブ 名があまりにも追加されます。それ以外の場合は、アーカイブからすべての Pythonライブラリファイルをインポートする方法はありません。

...

問題は名前がどうあるべきかです。名前は とPythonバージョンをリンクする必要があります。したがって、同じマシンに複数のPython バージョンがある場合でも、Python実行可能ファイルは対応するライブラリ を正しく見つけることができます。

sys.pathに1つの名前を追加します。 Unixでは、ディレクトリはsys.prefix + "/ lib"で、ファイル名は "python%s%s.zip"%(sys.version [0]、 sys.version [2])です。したがって、Python 2.2と接頭辞/ usr/localの場合、パス /usr/local/lib/python2.2/はすでにsys.pathにあり、 /usr/local/lib/python22.zipが追加されます。 Windowsでは、ファイルは で、 "dll"は "zip"に置き換えられ、python22.dllへのフルパスです。 zip アーカイブ名は、sys.pathの2番目の項目として常に挿入されます。 は、まずmain.pyのディレクトリです(Timに感謝します)。

+0

はい、私はPEP273を認識しており、読んでいます。 python27.zipを持っていないような音が出るのは間違いや問題かもしれませんが、私はすべてがうまくいっていると言えるでしょう。 2.7.1で別のマシンをチェックしましたが、このファイルもありません。とにかく、あなたの回答が私の質問に答えるとは思わない。 – martineau

関連する問題