pycharm打包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).](#报错 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,内容如下:

bash 复制代码
# my_math/__init__.py
from .calculator import add, add_list

# 定义包的版本
__version__ = "0.1.0"

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

bash 复制代码
# my_math/calculator.py

def add(a, b):
    """
    两个数相加
    """
    return a + b

def add_list(numbers):
    """
    列表求和
    """
    return sum(numbers)

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

bash 复制代码
[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。

bash 复制代码
pip install -e D:/PycharmProjects/my_math_lib

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

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

bash 复制代码
import my_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所在的项目路径。

相关推荐
墨染天姬2 小时前
【AI】PyTorch 框架
人工智能·pytorch·python
jeffsonfu2 小时前
学习率调度的艺术:从Warmup到余弦退火,掌握深度学习的训练节奏
人工智能·深度学习·神经网络
大强同学2 小时前
Obsidian 视觉化技能包
人工智能·ai编程
AI+程序员在路上2 小时前
在pyCharm 中命令打包生成exe文件方法
ide·python·pycharm
chaors2 小时前
Langchain入门到精通0x08:摘要链(load_summarize_chain)
人工智能·langchain·ai编程
CCC:CarCrazeCurator2 小时前
AI 提示词工程深度探究:基于 Claude 的技术原理、实战技巧与发展趋势
人工智能
只说证事2 小时前
中专电商专业,哪些证书性价比高?
人工智能·数据挖掘
愣锤2 小时前
详细易懂的OpenClaw安装指南
人工智能·openai·agent
麦芽糖02192 小时前
AI大模型开发
人工智能