Pythonpath là một biến môi trường có giá trị là danh sách các thư mục. Sau khi được đặt, nó được Python sử dụng để tìm kiếm các mô -đun nhập khẩu, cùng với STD 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.Environ ['PythonPath'] cho giá trị của nó trong Python như hì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 vỏ là
$ export PYTHONPATH=$HOME/Documents/DjangoTutorial/mysite
Sau đó 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ả khác =>
PYTHONPATH is not defined
Để đặt Pythonpath vào nhiều đường dẫn, xem ở đây.
Lưu ý rằng người ta có thể thêm hoặc xóa đường dẫn tìm kiếm qua sys.path.insert [], del hoặc xóa [] khi chạy, nhưng không thông qua os.environ []. 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 khẩu 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.
Các biến môi trường: Các biến môi trường Python, chẳng hạn như Pythonpath, cho Python biết nơi tìm các mô -đun trên đĩa. Python environment variables, such as PYTHONPATH, tell Python where to find modules on disk. Thư mục hiện tại: Bạn có thể thay đổi thư mục Python hiện tại để nó có thể định vị bất kỳ mô -đun nào được sử dụng bởi ứng dụng của bạn. You can change the current Python directory so that it can locate any modules used by your application. Thư mục mặc định: Ngay cả khi bạn không xác định bất kỳ biến môi trường nào và thư mục hiện tại không mang lại bất kỳ mô -đun nào có thể sử dụng, Python vẫn có thể tìm thấy các thư viện của riêng mình trong bộ thư mục mặc định được đưa vào như một phần của thông tin đường dẫn của riêng nó. Even when you don’t define any environment variables and the current directory doesn’t yield any usable modules, Python can still find its own libraries in the set of default directories that are included as part of its own path information. Mở vỏ Python. Bạn thấy cửa sổ vỏ Python xuất hiện. Nhập nhập sys và nhấn Enter. Nhập cho p vào sys.Path: print [p] vào một ô mới và nhấp vào chạy ô chạyNguồn thông tin đường dẫn
Cách tìm thông tin đường dẫn
Thật hữu ích khi biết thông tin đường dẫn hiện tại vì việc thiếu đường dẫn có thể khiến ứng dụng của bạn bị lỗi. Các bước sau đây cho thấy cách bạn có thể có được thông tin đường dẫn:
Bạn thấy một danh sách thông tin đường dẫn, như trong hình dưới đây. Danh sách của bạn có thể khác với bản hiển thị trong hình, tùy thuộc vào nền tảng của bạn, phiên bản Python bạn đã cài đặt và các tính năng Python bạn đã cài đặt.
Một cách khác để tìm đường dẫn
Thuộc tính sys.path là đáng tin cậy nhưng không phải lúc nào cũng chứa mọi đường dẫn mà Python có thể nhìn thấy. Nếu bạn không thấy một con đường cần thiết, bạn luôn có thể kiểm tra một nơi khác mà Python tìm kiếm thông tin. Các bước sau đây cho thấy cách thực hiện nhiệm vụ này:sys.path attribute is reliable but may not always contain every path that Python can see. If you don’t see a needed path, you can always check in another place that Python looks for information. The following steps show how to perform this task:Trong một ô mới, nhập nhập hệ điều hành và nhấn Enter.
Gõ os.environ ['PythonPath']. Split [Os.PathSep] và nhấn Enter.
Khi bạn có biến môi trường Pythonpath được xác định, bạn sẽ thấy một danh sách các đường dẫn, như trong hình dưới đây. Tuy nhiên, nếu bạn không có biến môi trường được xác định, bạn sẽ thấy một thông báo lỗi thay thế.PYTHONPATH environment variable defined, you see a list of paths, as shown in the figure below. However, if you don’t have the environment variable defined, you see an error message instead.
Thuộc tính sys.path không bao gồm hàm chia [], đó là lý do tại sao ví dụ sử dụng vòng lặp cho nó. Tuy nhiên, thuộc tính os.environ ['pythonpath'] bao gồm hàm chia [], do đó bạn có thể sử dụng nó để tạo danh sách các đường dẫn riêng lẻ.sys.path attribute doesn’t include the split[] function, which is why the example uses a for loop with it. However, the os.environ['PYTHONPATH'] attribute does include the split[] function, so you can use it to create a list of individual paths.
Bạn phải cung cấp Split [] một giá trị để tìm kiếm trong việc chia một danh sách các mục. Hằng số OS.PathSep [một biến có một, không thể thay đổi, giá trị được xác định] xác định bộ phân cách đường dẫn cho nền tảng hiện tại để bạn có thể sử dụng cùng một mã trên bất kỳ nền tảng nào hỗ trợ Python.split[] with a value to look for in splitting a list of items. The os.pathsep constant [a variable that has one, unchangeable, defined value] defines the path separator for the current platform so that you can use the same code on any platform that supports Python.
Khi bạn liệt kê lại nội dung sys.path, bạn sẽ thấy mục nhập mới được thêm vào cuối danh sách. Tương tự như vậy, khi bạn muốn xóa một mục nhập, bạn nhập sys.path.remove [os.getcwd []] và nhấn enter. Việc bổ sung chỉ có mặt trong phiên hiện tại.
Về bài viết này
Về cuốn sách tác giả:
John Paul Mueller là một tác giả tự do và biên tập viên kỹ thuật với hơn 107 cuốn sách và 600 bài báo cho tín dụng của ông. Các đối tượng của ông bao gồm từ mạng và trí tuệ nhân tạo đến quản lý cơ sở dữ liệu và lập trình xuống. Ông cũng tư vấn và viết các kỳ thi chứng nhận. Truy cập trang web của anh ấy tại //www.johnmuellerbooks.com/.
Bài viết này có thể được tìm thấy trong danh mục:
- Python,,