首页 > 其他分享 >通过site 包加载egg 或者whl pcakge 包并动态调用模块方法

通过site 包加载egg 或者whl pcakge 包并动态调用模块方法

时间:2024-06-08 12:44:16浏览次数:28  
标签:whl pcakge site import path egg 加载

以前简单说过通过sys.path 进行egg 文件模块的加载,实际上我们可以结合site 以及.pth 能力,实现灵活的加载处理,同时通过
importlib 进行动态加载,以下是一个简单说明

加载配置

通过site 包,添加自定义目录,目录里边包含 .pth 配置

  • 目录结构


.pth 内容

使用

核心是通过site 添加自定义配置

  • __init__.py
import sys
import os
 
import site
 
whl_path = os.path.join(os.path.dirname(__file__), '../whl/')
# 添加自定义path
site.addsitedir(whl_path)
 
print(sys.path)
  • 动态模块加载
# 导入init 模块,使用自定义site 的启用
import init
 
import  importlib
# 动态加载模块
demo = importlib.import_module('demo.dalong')
# 调用方法
demo.login()

说明

以上是一个简单使用说明,结合起来我们可以实现灵活的包加载,对于egg 文件如果我们打包一个uber egg 应用启动就更加方便了,尽管目前egg 格式的包并不太推荐了(废弃了),但是实际上都是zip,依然还是可以正常解析的

参考资料

https://docs.python.org/3/library/site.html
https://docs.python.org/3/library/importlib.html

标签:whl,pcakge,site,import,path,egg,加载
From: https://www.cnblogs.com/rongfengliang/p/18232521

相关文章

  • python模块各类whl文件国内下载地址链接汇总
    序号项目名称下载地址1SciPy-1.11.4-pp310-pypy310_pp73-win_amd64.whl.zip点我下载2PyICU-2.12-cp311-cp311-win_amd64.whl.zip点我下载3gensim-4.1.1-cp39-cp39-win_amd64.whl.zip点我下载4gensim-4.1.1-cp38-cp38-win_amd64.whl.zip点我下载5gensim-4.1.1-cp37-cp37m-win......
  • python模块各类whl下载地址汇总
    序号项目名称下载地址1box2d-py-2.3.5-cp37-cp37m-win-amd64.whl.zip点我下载2pybullet-3.2.6-cp39-cp39-win_amd64.whl.zip点我下载3mediapipe-0.9.0.1-cp37-cp37m-win_amd64.whl.zip点我下载4python_Levenshtein-0.12.2-cp38-cp38-win_amd64.whl.zip点我下载5python_Leven......
  • ChatGPT 无法登录或者提示 Unable to load site 怎么解决?
    登录后遇到这个报错:​添加图片注释,不超过140字(可选)Pleasetryagainlater.IfyouareusingaVPN,tryturningitoff.Checkthestatuspageforinformationonoutages。其他类似的登录问题:打开ChatGPT提示Unabletoloadsite的错误网页提示Oops!W......
  • css41 CSS Website Layout
    https://www.w3schools.com/css/css_website_layout.asp WebsiteLayoutAwebsiteisoftendividedintoheaders,menus,contentandafooter: Therearetonsofdifferentlayoutdesignstochoosefrom.However,thestructureabove,isoneofthemostcomm......
  • Sitecore 设置 SelectItems 最大长度问题
    添加一个configpatch文件即可,然后放在App_Config下,内容如下:sitecore默认value是100。<?xmlversion="1.0"encoding="utf-8"?><configurationxmlns:patch="http://www.sitecore.net/xmlconfig/"xmlns:role="http://www.sitecore.n......
  • 2024 ICPC National Invitational Collegiate Programming Contest, Wuhan Site
    2024ICPCNationalInvitationalCollegiateProgrammingContest,WuhanSiteI.CyclicAppleStrings题意:给定一个01字符串,每次操作可以将这个字符串向左循环移动任意次数,求让这个字符串变成有序的需要最少几次操作思路:每次只能减少最右边的不和有边界相邻的一个1的长块,每次......
  • 前后端分离,提供蜘蛛爬行最简单方案,创建sitemap xml
    2024年5月13日11:36:01现在很多项目是vuereactangular开发的,但是百度爬虫对这样的项目支持不好,很多时候回去采用一些服务器端渲染(SSR)和静态站点生成(SSG),当然有些框架支持ssr和ssg效果不好,还有些想不不破坏项目自身的提前下的方案呢?很多年前接手一个angularjs的项目,但是......
  • 2024 ICPC National Invitational Collegiate Programming Contest, Wuhan Site
    目录写在前面IBKFMEDC写在最后写在前面补题地址:https://codeforces.com/gym/105143正式赛全程犯大病打铜了呃呃,以下按个人向难度排序。AIEEEEE!忍者为何!队长=san实际战犯!罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚......
  • pip成功安装gdal的whl文件后,PyCharm仍报错No module named ‘osgeo’
    在根据网上的教程,成功pipinstall对应的whl文件后,发现PyCharm仍然显示无法调用osgeo。出现这样的问题,首先关注自己使用的环境,例如我使用的环境是(见下图)但当我打算卸载gdal库后,发现gdal安装的环境地址和我使用的环境地址不同(如下图)啊,原来是安装gdal的环境地址搞错了,我自己使......
  • ipv6服务器如何访问ipv4的website
    环境AWSlightsailipv6onlywindowsinstance网络公网ipv6,可以访问internet内网ipv4,但不能访问internet故障每次用internetexplorer访问stackoverflow.com都无法打开,命令行解析这个网址只有ipv4的。我理解windows对ipv4的地址用ipv4访问。解决将ipv6的地址,dns设置为200......