一些python import功能的笔记(自用)
import的作用
import和from…import…此两者的作用很简单,即:导入package(A)、module(B)及module下的各种内容(C)。1
import的使用注意
- 不考虑子包的问题,如果使用import,只能导入A\B;如果使用from…import…,只能导入B\C。如果使用from…import…导入C,有一个很方便的结果就是后续调用内容C,不必使用B.C,直接使用C即可。
- 安装PyEMD包做HHT时,要注意python的各种包在导入时需要严格区分大小写,否则会出现无法找到module的问题。
- 无论是第三方包还是自己写的包,在A目录下(即是和B同级处),需要__init__.py文件,此文件可以理解成A的标志,否则也会出现找不到package的问题。
- 从过程上来看,解释器如何找到import的内容呢?可以使用python -m site在命令行中查看当前的python环境或者也可在python脚本中利用import sys的sys.path去查看当前环境,随后解释器将会沿着这个路径去查找内容。这里插一句,在日常使用anaconda环境进行编程时,所使用的pip install 和conda install有联系也有区别。大体就是,联系在于都会自动安装在目前所处的环境env下的Lib\site-packages中(默认第三方安装包路径),区别在于如果以后在其他环境中install时,pip会重新再下一份,而conda会去找之前下过的那一份。最后,安装完包之后可能需要重启一下。
- 此外在确认python -m site功能是否确实能找到路径时,了解了一下python -m 的功能2,其中说到很多有意思的内容:如何正确的使用pip install ——要在前面加一个python3.7 -m如此便可准确定位到某个版本的python环境,进而进行安装,而不至于存在将需要的包装在错误的python版本上,这在那种同时存在多个python版本的环境下尤为注意。此外python -m http.server 8000该功能还能自动创建一个localhost 的HTTP服务。等
技术本就玩具,实践方出真知。
好戏常在结尾,莫要纠结一时。