我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?
我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。
我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?
我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。
当前回答
sys。Path list包含在运行时搜索模块的目录列表:
python -v
>>> import sys
>>> sys.path
['', '/usr/local/lib/python25.zip', '/usr/local/lib/python2.5', ... ]
其他回答
只是更新答案,以防现在有人需要它,我在Python 3.9和使用Pip来管理包。就用pip show,例如:
pip show numpy
它将为您提供所有详细信息,包括pip存储所有其他包的位置。
在windows上,你可以找到python模块的位置,如下所示:E找到rest_framework模块
在Ubuntu 12.04上,例如python2的numpy包,可以在以下位置找到:
/usr/lib/python2.7/dist-packages/numpy
当然,这不是一般的答案
如果使用pip来安装模块,只需返回pip show $module位置。
下面是一行代码获取模块的文件名,适用于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