2013-08-28 46 views
15

Tôi có set path sử dụnglàm thế nào để in nội dung của PYTHONPATH

sys.path.insert(1, mypath) 

Sau đó, tôi đã cố gắng để in nội dung của biến PYTHONPATH sử dụng os.environ như sau

print(os.environ['PYTHONPATH']) 

nhưng tôi nhận được lỗi như

raise KeyError(key) 
KeyError: 'PYTHONPATH' 

Làm cách nào để in nội dung của biến PYTHONPATH.

+0

Rõ ràng điều đó có nghĩa là bạn không có đường dẫn python được đặt trong máy của bạn. – thavan

+0

@thavan không nên sys.path.insert đặt biến PYTHONPATH? –

+1

Một điều cần lưu ý: sys.path được khởi tạo từ một số vị trí, một trong số đó là biến môi trường PYTHONPATH. Tuy nhiên, việc cập nhật sys.path không cập nhật PYTHONPATH. –

Trả lời

22

Thay vì sử dụng os.environ dict, bạn có thể sử dụng đơn giản mô-đun sys:

import sys 
print(sys.path) 

Giải pháp này nên là nền tảng độc lập. Phím PYTHONPATH có thể thay đổi tùy theo hệ điều hành.

+0

sys.path hoạt động nhưng cách thử sử dụng biến env PYTHONPATH. –

+0

phải có/phải là một số biến phổ biến cho 'PYTHONPATH' trong tất cả các nền tảng. Nếu nó khác, tôi đoán chúng ta nên sử dụng sys.path sau đó. –

+0

Tại sao bạn muốn sử dụng PYTHONPATH nguyên trong khi 'sys.path' dựa trên biến này cộng với một số thư mục mặc định khác (tùy thuộc vào hệ điều hành của bạn)? Xem http://docs.python.org/2/library/sys.html#sys.path để biết thêm thông tin. –

3

Nếu PYTHONPATH chưa được cài đặt sau đó đó là dự kiến, có thể mặc nó vào một chuỗi rỗng:

print(os.environ.get('PYTHONPATH', '')) 

Bạn cũng có thể sau:

import sys 
print(sys.path) 
+0

Tôi đã thử đặt mặc định thành một chuỗi trống. Và sau đó đã làm 'sys.path.insert (1, mypath)'. Nhưng không có thay đổi. Tôi vẫn nhận được lỗi cho 'print (os.environ ['PYTHONPATH'])' làm keyerror. –

+0

@Drt bạn đang thực sự cố gắng làm gì? –

Các vấn đề liên quan