GNU/Linux >> Belajar Linux >  >> Linux

Dalam skrip Python, bagaimana cara mengatur PYTHONPATH?

Anda bisa mendapatkan dan mengatur variabel lingkungan melalui os.environ :

import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."

Tetapi karena juru bahasa Anda sudah berjalan, ini tidak akan berpengaruh. Anda lebih baik menggunakan

import sys
sys.path.append("...")

yang merupakan larik PYTHONPATH Anda akan diubah menjadi saat startup juru bahasa.


Jika Anda memasukkan sys.path.append('dir/to/path') tanpa centang sudah ditambahkan, Anda dapat membuat daftar panjang di sys.path . Untuk itu, saya merekomendasikan ini:

import sys
import os # if you want this directory

try:
    sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
    sys.path.append('/dir/path') # Or os.getcwd() for this directory

Anda tidak menyetel PYTHONPATH , Anda menambahkan entri ke sys.path . Ini adalah daftar direktori yang harus dicari untuk paket Python, jadi Anda bisa menambahkan direktori Anda ke daftar itu.

sys.path.append('/path/to/whatever')

Faktanya, sys.path diinisialisasi dengan membagi nilai PYTHONPATH pada karakter pemisah jalur (: pada sistem mirip Linux, ; di Windows).

Anda juga dapat menambahkan direktori menggunakan site.addsitedir , dan metode itu juga akan memperhitungkan .pth file yang ada di dalam direktori yang Anda lewati. (Tidak demikian halnya dengan direktori yang Anda tentukan di PYTHONPATH .)


PYTHONPATH berakhir di sys.path, yang dapat Anda modifikasi saat runtime.

import sys
sys.path += ["whatever"]

Linux
  1. Bagaimana cara mendapatkan PYTHONPATH di shell?

  2. Bagaimana cara menjalankan skrip Python dari Java?

  3. Bagaimana cara membuat skrip Python dijalankan sebagai layanan?

  1. Bagaimana cara mengatur jalur JAVA_HOME di Ubuntu?

  2. Bagaimana cara Keluar dari terminal Linux menggunakan skrip Python?

  3. Di mana variabel PATH diatur di Ubuntu?

  1. Cara menjalankan skrip Python dari shell

  2. cara menemukan pemilik file atau direktori dengan python

  3. Bagaimana cara memodifikasi PYTHONPATH default (sys.path) secara global?