爲什麼python .pyc
文件包含其源代碼的絕對路徑,而不是相對路徑或其他東西?爲什麼python .pyc文件包含其源代碼的絕對路徑?
從Python 2.7版Ubuntu的一個典型__init__.pyc
:
\ufffd\ufffd\[email protected](i\ufffd\ufffd\ufffd\ufffd(t*N(tdbapi2(((s&/usr/lib/python2.7/sqlite3/__init__.py<module>s
爲什麼python .pyc
文件包含其源代碼的絕對路徑,而不是相對路徑或其他東西?爲什麼python .pyc文件包含其源代碼的絕對路徑?
從Python 2.7版Ubuntu的一個典型__init__.pyc
:
\ufffd\ufffd\[email protected](i\ufffd\ufffd\ufffd\ufffd(t*N(tdbapi2(((s&/usr/lib/python2.7/sqlite3/__init__.py<module>s
請注意,Éric的鏈接導致了「-d」選項,該選項可用於將相對路徑導入.pyc文件,而不是通常的絕對路徑。 –
如果這些文件移動到另一臺機器並且路徑不匹配會發生什麼? –
在某些回溯中報告的信息是錯誤的。 –
我剛剛在Linux上用Python 2.7進行了測試,並且.pyc文件不包含絕對路徑。 – interjay
它適合我。 – joeforker
然後提供您遵循的確切步驟來創建pyc並查看它包含絕對路徑,以任何人都可以重現的方式。我做的是創建一個空的'a.py'文件,從交互提示中導入它,然後運行'strings a.pyc'。 – interjay