PYTHONPATH là một biến môi trường có giá trị là danh sách các thư mục. Sau khi thiết lập, nó được Python sử dụng để tìm kiếm các mô-đun đã nhập, cùng với các tiêu chuẩn khác. và thư mục thư viện của bên thứ 3 được liệt kê trong "sys.path" của Python.
Như bất kỳ biến môi trường nào khác, bạn có thể xuất nó trong shell hoặc trong ~ / .bashrc, xem tại đây . Bạn có thể truy vấn os.envir ['PYTHONPATH'] để biết giá trị của nó trong Python như dưới đây:
$ python3 -c "import os, sys; print(os.environ['PYTHONPATH']); print(sys.path) if 'PYTHONPATH' in sorted(os.environ) else print('PYTHONPATH is not defined')"
NẾU được định nghĩa trong shell là
$ export PYTHONPATH=$HOME/Documents/DjangoTutorial/mysite
THEN kết quả =>
/home/Documents/DjangoTutorial/mysite
['', '/home/Documents/DjangoTutorial/mysite', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
Kết quả ELSE =>
PYTHONPATH is not defined
Để đặt PYTHONPATH thành nhiều đường dẫn, xem tại đây .
Lưu ý rằng người ta có thể thêm hoặc xóa đường dẫn tìm kiếm thông qua sys.path.insert (), del hoặc remove () trong thời gian chạy, nhưng KHÔNG thông qua os.envir []. Thí dụ:
>>> os.environ['PYTHONPATH']="$HOME/Documents/DjangoTutorial/mysite"
>>> 'PYTHONPATH' in sorted(os.environ)
True
>>> sys.path // but Not there
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>> sys.path.insert(0,os.environ['PYTHONPATH'])
>>> sys.path // It's there
['$HOME/Documents/DjangoTutorial/mysite', '', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>>
Tóm lại, PYTHONPATH là một cách chỉ định (các) đường dẫn tìm kiếm Python cho các mô-đun đã nhập trong sys.path. Bạn cũng có thể áp dụng các hoạt động danh sách trực tiếp cho sys.path mà không cần sự trợ giúp của PYTHONPATH.
PYTHONPATH. Sử dụngsys.pathcho điều đó.