当前位置: 首页 > news >正文

pycharm打包whl

文章目录

      • 本地打包whl
    • 报错
      • 报错 ERROR: *.whl is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).

类似于maven的打包功能,这样自己或别人就可以复用了。

本地打包whl

用一个例子来说明,例如打包一个加法工具。
1、新建一个项目,名称为:my_math_lib
2、创建文件夹my_math
(1)该文件夹下创建一个python文件,名为:__init__.py,内容如下:

# my_math/__init__.pyfrom .calculatorimportadd, add_list# 定义包的版本__version__="0.1.0"

(2)该文件夹下创建一个python文件,名为:calculator.py,内容如下:

# my_math/calculator.pydef add(a, b):""" 两个数相加"""returna + b def add_list(numbers):""" 列表求和"""returnsum(numbers)

3、根目录下创建一个文件pyproject.toml,内容为:

[build-system]requires=["setuptools>=61.0","wheel"]build-backend="setuptools.build_meta"[project]name="my-math-lib"# 【重要】发布到仓库后的包名 (通常用短横线)version="0.1.0"# 版本号description="一个简单的加法库"authors=[{name="YourName", email="your@email.com"}]readme="README.md"requires-python=">=3.8"classifiers=["Programming Language :: Python :: 3","License :: OSI Approved :: MIT License",]# 告诉 setuptools 去哪里找代码[tool.setuptools.packages.find]where=["."]# 在当前目录查找include=["my_math*"]# 包含以 my_math 开头的文件夹

4、终端执行python -m build --wheel,会生成dist目录以及whl文件。
5、到另外一个项目中,安装该whl。

pipinstall-eD:/PycharmProjects/my_math_lib

注:这里是路径,不是具体的whl文件,否则会报错

6、在另外一个项目中新建test.py,内容如下:

importmy_math result=my_math.add(10,20)print(f"10 + 20 = {result}")# 如果配置了 __init__.py 导出,也可以直接:# from my_math import add

7、运行test.py,实测成功了。

报错

报错 ERROR: *.whl is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).

重点就是这句:It should either be a path to a local project or a VCS URL
意思是不是一个具体whl文件,还是whl所在的项目路径

http://www.jsqmd.com/news/478915/

相关文章:

  • 《ShardingSphere解读》01 从理论到实践:如何让分库分表真正落地?
  • 视频监控烟火识别技术
  • 理工科论文降AI用什么工具?公式多术语多也能降到位 - 还在做实验的师兄
  • DeepSeek降AI指令怎么写?附10个实测有效的Prompt模板 - 还在做实验的师兄
  • 毕业设计实战:基于SSM的宠物健康咨询系统设计与实现全攻略
  • 如何正确使用OpenClaw?关于OpenClaw
  • 【实战】构建OpenClaw“防内鬼”防线:基于PowerShell的高危命令审批与全链路审计系统
  • 去AI味提示词大全:Kimi豆包DeepSeek通用的降AI指令 - 还在做实验的师兄
  • 积分商城的兑换架构设计(二):复杂场景金额计算与对账
  • USB接口防烧毁秘籍:硬件工程师必看的端口保护全攻略
  • 卖出认沽期权策略的权利金收入最大化定价模型与市场情绪的协同效应
  • 降AI工具千字4.8元贵不贵?嘎嘎降AI性价比全面分析 - 还在做实验的师兄
  • AI时代,软件工程还有必要学吗?—— 从职业保障到未来方向
  • 1352: 多个数最小公倍数
  • Token狂欢背后,黄仁勋的“五层蛋糕“正在重写AI游戏规则
  • 降AI不伤专业术语:理工科论文降AI的正确打开方式 - 还在做实验的师兄
  • 去AI味提示词大全:25个实用Prompt帮你降低AI率
  • 【同时登多个微信,微信分身无需下载软件】
  • edge的神秘搜索栏 暗广 bug
  • 降AI工具从4.8元到8元千字,价格差一倍效果差多少? - 还在做实验的师兄
  • test 20260314-3
  • 【程序员转行】大模型学习路径:从原理到实战,程序员小白也能轻松进阶
  • day03_python入门03
  • 实战案例八:Claude Code 代码审查与安全漏洞检测
  • openClaw大火会对前端产生什么影响
  • 基于YOLOV26的应急车道占用自动抓拍:动态追踪占用行为全过程,避免静态截图争议
  • PIC32MX795F512L-80I/PF芯片解密
  • 【IC】芯片设计的复位策略
  • 2026制造业选型指南:设备管理系统必须具备的4大核心能力
  • windows安装aspera高速下载sra文件/fastq格式