1,python解释器是通过固定的搜索路径来查找python包的
大概顺序是,当前目录 PYTHONPATH变量指定的目录 site-package目录下的 --.pth文件添加的目录
2,所谓的包安装,就是将模块或者package放置到系统指定的目录中
3,python的所有包安装工具都是依据2进行的,包含setuptools等
4,既然有包安装工具,那就有包发布和生成工具,比如,setuptools
其目的是将一个包完整的依赖和相关文件打包到一起,并通过配置文件(通常是setup.cfg)文件来告诉安装工具,解压后该怎么处理这些包
setup( name = "demo", version="0.1.0", packages = find_packages(), zip_safe = False, description = "egg test demo.", long_description = "egg test demo, haha.", author = "amoblin", author_email = "amoblin@ossxp.com", license = "GPL", keywords = ("test", "egg"), platforms = "Independant", url = "", )
5,Stevedore
python通常通过importlib工具来动态导入一个模块
什么是动态导入?就是在不在标准路径下的模块,python解释器是找不到这个模块的,要执行之,必须要动态加载之。
其实个人理解,python所有的模块都是动态加载的。只不过时机不一样而已。