簡體   English   中英

python個模塊存放在哪里?

[英]Where are the python modules stored?

我最近開始學習 Python,我有 2 個與模塊相關的問題。

  1. 有沒有辦法獲取機器上可用(即已安裝)的 Python 個模塊的列表?
  2. 我正在使用 Ubuntu Karmic 和 Synaptic 進行 package 管理。 我剛剛安裝了一個 python 模塊。模塊代碼實際存儲在我的機器上的什么位置? (是否有存儲模塊的默認 [推薦] 位置)?
  1. 有沒有辦法獲取機器上可用(即安裝)的 Python 模塊列表?

這對我有用:

help('modules')
  1. 我的機器上實際存儲的模塊代碼在哪里?

通常在 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
  1. 您可以遍歷sys.path列出的目錄以查找所有模塊(內置模塊除外)。
  2. 它可能在/usr/lib/pythonX.X/site-packages附近(再次參見sys.path )。 並考慮使用原生 Python 包管理(通過pipeasy_install ,加上yolk ),Linux 發行版維護的存儲庫中的包往往已經過時。

如果您使用condapip安裝模塊,您可以使用

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM