如何将.tar.gz格式的lava-nc依赖包集成到pip发布包中实现自动安装
解决本地归档依赖自动安装的问题
要让你的snnalgocompare包在用户执行pip install snnalgocompare时自动安装本地的lava-nc-v0.5.1.tar.gz依赖,只需要两步简单配置:确保依赖包被包含在分发文件中,以及在安装依赖列表里指定本地归档路径。
步骤1:确保本地依赖被包含到分发包中
首先,在项目根目录创建一个MANIFEST.in文件,用来告诉setuptools在生成源码包(sdist)时要包含指定的依赖文件:
include dependencies/lava-nc-v0.5.1.tar.gz
接着,修改setup.cfg的[options]区域,添加一行配置让wheel包也能包含这个文件:
[options] # ... 保留原有配置 ... include_package_data = True
步骤2:在安装依赖中指定本地归档路径
修改setup.cfg里的install_requires列表,添加一行符合PEP 508格式的本地依赖引用:
[options] # ... 保留原有配置 ... install_requires = jsons>=1.6.3 matplotlib>=3.6.1 networkx>=2.8.7 numpy>=1.23.4 pytest-cov>=4.0.0 lava-nc @ file:./dependencies/lava-nc-v0.5.1.tar.gz
这里的lava-nc必须和tar包内部定义的包名称一致(和原lava-nc项目setup.py里的name字段匹配),file:./dependencies/...是相对于项目根目录的路径,pip在安装时会自动识别并安装这个本地归档文件。
验证配置是否生效
完成配置后,先生成分发包测试:
python setup.py sdist bdist_wheel
然后用pip安装生成的包,检查是否自动安装所有依赖:
pip install dist/snnalgocompare-*.tar.gz # 也可以安装对应的wheel文件
内容的提问来源于stack exchange,提问作者a.t.
相关产品推荐
相关产品推荐

