我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?
我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。
我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?
我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。
当前回答
只是更新答案,以防现在有人需要它,我在Python 3.9和使用Pip来管理包。就用pip show,例如:
pip show numpy
它将为您提供所有详细信息,包括pip存储所有其他包的位置。
其他回答
下面是一行代码获取模块的文件名,适用于shell别名:
echo 'import sys; t=__import__(sys.argv[1],fromlist=[\".\"]); print(t.__file__)' | python -
设置为别名:
alias getpmpath="echo 'import sys; t=__import__(sys.argv[1],fromlist=[\".\"]); print(t.__file__)' | python - "
使用方法:
$ getpmpath twisted
/usr/lib64/python2.6/site-packages/twisted/__init__.pyc
$ getpmpath twisted.web
/usr/lib64/python2.6/site-packages/twisted/web/__init__.pyc
如果你没有使用解释器,那么你可以运行下面的代码:
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
看看这个漂亮的"cdp"命令,cd到包含指定Python模块源代码的目录:
cdp () {
cd "$(python -c "import os.path as _, ${1}; \
print _.dirname(_.realpath(${1}.__file__[:-1]))"
)"
}
如上所述 在python中只使用help(模块) 即
进口分数
帮助(分数)
如果你的模块,在例子中的分数,被安装,然后它会告诉你的位置和有关它的信息,如果它没有安装,它说模块不可用
如果它不可用,默认情况下python不会附带,在这种情况下,你可以检查你在哪里找到它的下载信息
在Ubuntu 12.04上,例如python2的numpy包,可以在以下位置找到:
/usr/lib/python2.7/dist-packages/numpy
当然,这不是一般的答案