2012-06-25 20 views
14

なぜPython .pycファイルには、相対パスなどの代わりにソースコードの絶対パスが含まれていますか?なぜpython .pycファイルにソースコードの絶対パスが含まれていますか?

Ubuntuの上のPython 2.7から

典型的__init__.pyc

\ufffd\ufffd\[email protected](i\ufffd\ufffd\ufffd\ufffd(t*N(tdbapi2(((s&/usr/lib/python2.7/sqlite3/__init__.py<module>s

+1

LinuxでPython 2.7でテストしたところ、.pycファイルには絶対パスが含まれていません。 – interjay

+2

それは私のためです。 – joeforker

+2

その後、pycを作成するためにたどった正確な手順を提供し、誰でも再現できる方法で絶対パスが含まれていることを確認します。私がしたことは、空の 'a.py'ファイルを作成し、それをインタラクティブなプロンプトからインポートし、' strings a.pyc'を実行することでした。 – interjay

答えて

9

トレースバックの情報を得ました。例を見てくださいhttp://docs.python.org/library/compileall#cmdoption-compileall-d

+2

Éricのリンクは、通常の絶対パスではなく.pycファイルに相対パスを取得するために使用できる "-d"オプションにつながることに注意してください。 –

+0

これらのファイルが別のマシンに移動され、パスがもう一致しない場合はどうなりますか? –

+0

一部のトレースバックで報告された情報が間違っています。 –

関連する問題