如何判断python模块属于哪个包?模块的物理位置在哪里?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
对于一个已经完成的python
系统来说,依赖模块的安装都是通过pip install -r requirements.txt
这样的命令安装的。而不是单独的通过pip install <pageckage>
这样的途径安装的。那么,问题来了,对于某个具体的模块,如何判断到底是归属于哪个包呢?
大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码的故事。本文中致力于解决某个模块归属于某个包的问题。测试环境:win10
,python@3.6.8
。
基本情况
可以确定的是,某个模块肯定已经被安装了,可以正常使用,但是不确定是属于哪个包的。因为,当时所有的包都是一起安装的。并没有单独安装某个包。
pip install -r requirements.txt
方案一
当然,也可以使用下面的命令,来提供一些线索。
pip list | grep <name>
大多数情况下,这样的方案就可以了。可以看到名称类似的包名。就可以用于判断下文中的<packagename>
了。
pip install <packagename>
方案二
执行下面的代码,就可以看到属于哪个包了。比如:
苏南大叔想要查看csv
模块和pandas
模块的归属:
import csv
print (csv)
import pandas
print (pandas)
返回的数据如下:
<module 'csv' from 'D:\\Program Files\\py3.6.8\\lib\\csv.py'>
<module 'pandas' from 'D:\\Program Files\\py3.6.8\\lib\\site-packages\\pandas\\__init__.py'>
这个结果足够明显吧?csv
是内置模块,pandas
是第三方模块,存在于site-packages
之中。
对目标模块假意删除,也可以暴露模块的物理位置,例如:
参考文献
- https://newsn.net/say/pip-config-whereis.html
- https://newsn.net/say/pip-mirror.html
- https://newsn.net/say/python-pandas.html
- https://newsn.net/say/python-csv-writer.html
总结
找模块位置的目的,仅仅是为了获得合适的pip install
命令,这就是个“先有鸡还是先有蛋”的故事了。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。