Các mô-đun python được lưu trữ ở đâu?


80

Gần đây tôi đã bắt đầu học Python và tôi có 2 câu hỏi liên quan đến các mô-đun.

  1. Có cách nào để lấy danh sách các mô-đun Python có sẵn (tức là đã được cài đặt) trên máy không?
  2. Tôi đang sử dụng Ubuntu Karmic và Synaptic để quản lý gói. Tôi vừa cài đặt một mô-đun python. Mã mô-đun thực sự được lưu trữ ở đâu trên máy của tôi? (có vị trí mặc định [được đề xuất] mà các mô-đun được lưu trữ) không?

Câu trả lời:


102
  1. Có cách nào để lấy danh sách các mô-đun Python có sẵn (tức là đã được cài đặt) trên máy không?

Điều này phù hợp với tôi:

help('modules')
  1. Mã mô-đun thực sự được lưu ở đâu trên máy của tôi?

Thường có trong /lib/site-packagesthư mục Python của bạn. (Ít nhất, trên Windows.)

Bạn có thể sử dụng sys.pathđể tìm ra những thư mục được tìm kiếm cho các mô-đun.


38
Nếu bạn muốn vị trí của một mô-đun cụ thể, importhãy xem nó và xem __file__thuộc tính của nó . Hoạt động cho hầu hết chúng.
Noufal Ibrahim

2
@NoufalIbrahim câu trả lời của bạn có giá trị như chính câu trả lời. TY. bạn có thể thêm nó để làm cho nó in đậm đối với người dùng.
BehradKhodayar

61

Trên dòng lệnh python, trước tiên hãy nhập mô-đun đó mà bạn cần vị trí.

import module_name

Sau đó gõ:

print(module_name.__file__)

Ví dụ để tìm ra vị trí "pygal":

import pygal
print(pygal.__file__)

Đầu ra:

/anaconda3/lib/python3.7/site-packages/pygal/__init__.py

Khi tôi thử điều này, tôi gặp lỗi này:, Unable to initialize device PRNbất kỳ ý kiến ​​nào tại sao? Cảm ơn.
Azurespot

7

Bạn có thể tìm thấy mã mô-đun bằng cách liệt kê đầu tiên các mô-đun:

help("modules")

Điều này đưa ra danh sách các mô-đun mà Python có thể nhập. Ở cuối danh sách này là một cụm từ:

Nhập bất kỳ tên mô-đun nào để nhận thêm trợ giúp. Hoặc, nhập "spam mô-đun" để tìm kiếm các mô-đun có tên hoặc tóm tắt chứa chuỗi "spam".

Để tìm vị trí mô-đun:

help("module_Name")

ví dụ:

help("signal")

Rất nhiều thông tin ở đây. Cuộn xuống dưới cùng để tìm vị trí của nó

/usr/lib/python3.5/signal.py

Sao chép đường dẫn. Để xem mã, sau khi thoát khỏi Python REPL:

nano /usr/lib/python3.5/signal.py

6

Trên máy Windows, mô-đun python được đặt tại (ổ đĩa hệ thống và phiên bản python có thể khác nhau):

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib

Tôi đoán cách tốt nhất là sử dụng %appdata%trong cửa sổ địa chỉ của Explorer để truy cập nhanh vào Roamingthư mục và sau đó nhảy qua lại Localthư mục đó.
questiononto42

3
  1. Bạn có thể lặp lại qua các thư mục được liệt kê trong sys.pathđể tìm tất cả các mô-đun (ngoại trừ các mô-đun nội trang).
  2. Nó có thể sẽ ở đâu đó xung quanh /usr/lib/pythonX.X/site-packages(một lần nữa, hãy xem sys.path). Và thay vào đó, hãy cân nhắc sử dụng quản lý gói Python bản địa (thông qua piphoặc easy_install, cộng thêm yolk), các gói trong kho lưu trữ do các bản phân phối Linux duy trì có xu hướng lỗi thời.

1

Nếu bạn đang sử dụng condahoặc pipđể cài đặt các mô-đun, bạn có thể sử dụng

pip list

hoặc là

conda list

để hiển thị tất cả các mô-đun. Điều này sẽ hiển thị tất cả các mô-đun trong chính thiết bị đầu cuối và nhanh hơn nhiều so với

>>> help('modules')


0

1) Sử dụng chức năng trợ giúp

Truy cập vào dấu nhắc python và nhập lệnh sau:

>>>help("modules")

Điều này sẽ liệt kê tất cả các mô-đun được cài đặt trong hệ thống. Bạn không cần cài đặt bất kỳ gói bổ sung nào để liệt kê chúng, nhưng bạn cần phải tìm kiếm hoặc lọc mô-đun cần thiết theo cách thủ công khỏi danh sách.

2) Sử dụng đóng băng pip

sudo apt-get install python-pip
pip freeze

Mặc dù bạn cần cài đặt các gói bổ sung để sử dụng, phương pháp này cho phép bạn dễ dàng tìm kiếm hoặc lọc kết quả bằng greplệnh. vd pip freeze | grep feed.

Bạn có thể sử dụng bất kỳ phương pháp nào thuận tiện cho bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.