我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?

我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。


当前回答

对于那些更喜欢GUI解决方案的人:如果你正在使用GUI,如Spyder (Anaconda安装的一部分),你可以右键单击模块名称(如“import csv”中的“csv”),并选择“go to definition”-这将打开文件,但在顶部你可以看到确切的文件位置(“C:....csv.py”)

其他回答

在Ubuntu 12.04上,例如python2的numpy包,可以在以下位置找到:

/usr/lib/python2.7/dist-packages/numpy

当然,这不是一般的答案

看看这个漂亮的"cdp"命令,cd到包含指定Python模块源代码的目录:

cdp () {
  cd "$(python -c "import os.path as _, ${1}; \
    print _.dirname(_.realpath(${1}.__file__[:-1]))"
  )"
}

如果你没有使用解释器,那么你可以运行下面的代码:

import site
print (site.getsitepackages())

输出:

['C:\\Users\\<your username>\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\<your username>\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages']

Array中的第二个元素将是包的位置。在这种情况下:

C:\Users\<your username>\AppData\Local\Programs\Python\Python37\lib\site-packages

另一种从终端检查是否安装了多个python版本的方法。

$ python3 -m PIP show pyperclip

地点:/图书馆/框架/ Python.framework /版本/ 3.7 / lib / python3.7 /网站

$ python -m PIP show pyperclip

地点:/用户/ umeshvuyyuru /图书馆/ Python / 2.7 / lib / Python /网站

如果使用pip来安装模块,只需返回pip show $module位置。