Di manakah sys.path Python Dimulakan Daripada?
sys.path Python, yang mengandungi direktori tempat Python mencari modul untuk diimport, menjalani proses permulaan yang kompleks untuk menentukan nilai awalnya. Berikut ialah pecahan cara ia disediakan:
sys.executable Determination
- Python mencari lokasi fizikalnya pada sistem fail dan menggunakannya sebagai nilai untuk sys .executable.
sys.exec_prefix dan sys.prefix Initialization
sys.path Initialization
- Python menambah direktori skrip yang sedang dilaksanakan ke sys.path.
- Pada Linux/Mac, ia menambah pembolehubah persekitaran PYTHONPATH, jika ditetapkan.
- Ia termasuk zip laluan fail (/lib/python35.zip atau path/to/python.zip).
- Pada Windows dan tanpa "applocal = true" dalam pyvenv.cfg, ia menambah subkunci daripada "HK_CURRENT_USERSoftwarePythonPythonPythonPython ;DLLVersion>PythonPath."
- Pada Windows dan tanpa "applocal = true" dalam pyvenv.cfg, dan jika sys.prefix tidak dijumpai, ia menambah "kandungan teras" "HK_CURRENT_USERSoftwarePythonPythonCoreth
- Pada Windows dan tanpa "applocal = true" dalam pyvenv.cfg, ia menambahkan subkunci daripada "HK_LOCAL_MACHINESoftwarePythonPythonCorePythonPath."
- Pada Windows python dan tanpa "apploven = true" .cfg, dan jika sys.prefix tidak ditemui, ia menambah "kandungan teras" "HK_LOCAL_MACHINESoftwarePythonPythonCorePythonPath."
- Pada Windows dan dengan PYTHONPATH tidak ditetapkan, dan awalan pendaftaran tidak ditemui kini, ia menambah nilai masa kompilasi relatif PYTHONPATH.
- Ia menggabungkan laluan dalam makro masa kompilasi PYTHONPATH berbanding awalan sys.prefix yang ditemui secara dinamik.
- Pada Linux/Mac, ia menambah sys.exec_prefix. Pada Windows, ia menambah direktori yang digunakan untuk mencari sys.prefix.
- Pada Windows dan tanpa "applocal = true" dalam pyvenv.cfg, ia cuba mencari sys.prefix dengan mencari fail mercu tanda dalam sys.path . Jika tidak berjaya, ia meninggalkan sys.prefix kosong.
Pengubahsuaian Tambahan oleh Modul Tapak
- Modul tapak mengubah suai sys.path dengan menambah direktori berdasarkan sys.prefix, sys.exec_prefix dan laluan khusus platform.
- Ia memeriksa laluan baharu ini untuk fail konfigurasi, yang berpotensi menambah lebih banyak laluan.
Atas ialah kandungan terperinci Bagaimanakah Python memulakan senarai sys.path?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!