[英]Where are the python modules stored?
我最近開始學習 Python,我有 2 個與模塊相關的問題。
- 有沒有辦法獲取機器上可用(即安裝)的 Python 模塊列表?
這對我有用:
help('modules')
- 我的機器上實際存儲的模塊代碼在哪里?
通常在 Python 文件夾中的/lib/site-packages
中。 (至少,在 Windows 上。)
您可以使用sys.path
找出在哪些目錄中搜索模塊。
在 python 命令行上,首先導入需要位置的模塊。
import module_name
然后輸入:
print(module_name.__file__)
例如找出“pygal”位置:
import pygal
print(pygal.__file__)
輸出:
/anaconda3/lib/python3.7/site-packages/pygal/__init__.py
在 Windows 機器上,python 模塊位於(系統驅動器和 python 版本可能會有所不同):
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib
您可以通過首先列出模塊來找到模塊代碼:
help("modules")
這會輸出 Python 可以導入的模塊列表。 在這個列表的底部是一個短語:
輸入任何模塊名稱以獲取更多幫助。 或者,鍵入“modules spam”以搜索名稱或摘要中包含字符串“spam”的模塊。
查找模塊位置:
help("module_Name")
例如:
help("signal")
這里有很多信息。 滾動到底部以找到它的位置
/usr/lib/python3.5/signal.py
復制鏈接。 要查看代碼,請在退出 Python REPL 后:
nano /usr/lib/python3.5/signal.py
sys.path
列出的目錄以查找所有模塊(內置模塊除外)。/usr/lib/pythonX.X/site-packages
附近(再次參見sys.path
)。 並考慮使用原生 Python 包管理(通過pip
或easy_install
,加上yolk
),Linux 發行版維護的存儲庫中的包往往已經過時。如果您使用conda
或pip
安裝模塊,您可以使用
pip list
或者
conda list
顯示所有模塊。 這將顯示終端本身中的所有模塊,並且比
>>> help('modules')
1) 使用幫助功能
進入 python 提示符並鍵入以下命令:
>>>help("modules")
這將列出系統中安裝的所有模塊。 您不需要安裝任何額外的包來列出它們,但您需要從列表中手動搜索或過濾所需的模塊。
2)使用pip凍結
sudo apt-get install python-pip
pip freeze
即使您需要安裝其他軟件包才能使用它,此方法也允許您使用grep
命令輕松搜索或過濾結果。 例如pip freeze | grep feed
pip freeze | grep feed
。
您可以使用任何您方便的方法。
如果您使用pip
:
pip show <package name>
pip show tensorflow
示例輸出:
Name: tensorflow
Version: 2.1.1
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: packages@tensorflow.org
License: Apache 2.0
Location: /home/user/.local/lib/python3.6/site-packages
Requires: termcolor, six, astor, numpy, grpcio, absl-py, protobuf, tensorflow-estimator, tensorboard, gast, keras-applications, opt-einsum, wheel, keras-preprocessing, google-pasta, scipy, wrapt
Required-by: tf-models-official
安裝位置顯示在Location:/home/user/.local/lib/python3.6/site-packages
。
在 Linux 上,使用 grep 查找所選模塊,無需額外安裝,快速完成。
-r
代表在子目錄中遞歸搜索,l 代表僅顯示文件,而不顯示目錄。 通常您可以從即將到來的列表中看到位置,您可以使用 Ctrl-C 停止輸出。
grep -rl module_name_or_part_of_name /
或者,從這個用戶的價值評論中借用:
pip list | grep module_name_or_part_of_name
在我的本地計算機 (Win 10) 上,它具有以下路徑:
c:\Users\administrator\AppData\Roaming\Python\Python38\
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.