setup.py 文件可以使用 extras_require 指定可选的安装依赖
想问一下:
1
maocat 2023-09-27 14:53:46 +08:00
可以看看 requests 库怎么做的,业内标杆
|
3
Hstar 2023-09-27 15:05:10 +08:00
“是不是我的包里使用到该可选依赖的代码也会被安装呢”
如果你的包是纯 python 的,install 过程是没有“代码安装”这个步骤的,全部代码文件都复制过去而已。 如果你想要达到 extras_require 来指定 pip install 之后存不存在某些代码,那么就把这部分代码单独打个包,指定到 extras_require 里去。然后代码里使用 try: from xx.yy import ** expect 的办法识别当前是否已安装某些玩意。 |
4
learningman 2023-09-28 01:45:36 +08:00 via Android
python 没有条件编译那种东西,跟楼上说的一样,靠 try 来一个一个试
|
5
fbichijing 2023-10-01 21:09:27 +08:00
#2 二楼说得对,直接在 install_requires 里面写上你写的库里面要求安装的第三方包和需求版本就可以了。
其实 Python 库的安装有时候会产生冲突,虽然在很多情况下不会导致很严重的结果。有时候会遇见 A 库要求使用某个第三方库是旧版本,而 B 库使用了该第三方库的新版本,而这个第三方库某些部分是不向后兼容的。这种情况存在但不是很经常见到。 对于你说的问题,直接在 install_requires 里面写上就行了。你完全可以自己建一个虚拟环境测试一下安装时是否符合自己的预期。 |