如何将src目录代码打包为名为pricer的可安装Python包
解决方法
你需要调整setup.py的包配置逻辑,将src目录的内容映射到名为pricer的顶层包,而不是直接把src作为包名。以下是两种可行的修改方式:
方式一:直接指定包目录映射
修改setup.py,通过package_dir参数将pricer包指向src目录,同时声明要打包的包为pricer:
from setuptools import setup setup( name="pricer", version="0.1.0", package_dir={"pricer": "src"}, # 把pricer包的内容指向src目录 packages=["pricer"], # 明确要打包的包名称 # 可添加其他配置:author="你的名字", description="定价工具包"等 )
方式二:自动发现包(适合后续扩展子包)
如果后续src目录下会新增子包,推荐用find_packages自动识别,同时指定包的根目录为src:
from setuptools import setup, find_packages setup( name="pricer", version="0.1.0", package_dir={"": "src"}, # 所有包的根目录设置为src packages=find_packages(where="src"), # 从src目录查找所有包 # 其他配置... )
后续操作
修改完成后,先卸载已安装的旧版本(如果存在):
pip uninstall -y pricer
然后重新安装包(开发模式用-e参数,方便修改代码后无需重新安装):
pip install . # 或者开发模式安装 pip install -e .
此时你就能通过from pricer import pricing_functions正常导入模块了。
内容的提问来源于stack exchange,提问作者user2743931
相关产品推荐
相关产品推荐

