能否通过setup.py的install_requires依赖本地目录中的自定义库?
可以实现,具体方法如下
你完全可以在应用的setup.py中通过install_requires指定本地带setup.py的库路径,无需依赖Git、PyPI或私有仓库。
步骤1:确保自定义库的setup.py配置正确
在/library/setup.py中,需要明确库的核心标识信息,示例如下:
from setuptools import setup, find_packages setup( name="mylibrary", # 该名称需与应用setup.py中引用的名称一致 version="0.1.0", packages=find_packages(), py_modules=["library"], # 对应你的library.py文件 # 可在此添加库自身的依赖 install_requires=[ # 比如 requests>=2.25.1 ] )
步骤2:在应用的setup.py中指定本地依赖
在/app/setup.py的install_requires里,使用@ file:///格式指向本地库的绝对路径,示例:
from setuptools import setup, find_packages setup( name="myapp", version="1.0.0", packages=find_packages(), py_modules=["app"], install_requires=[ # 名称与library的setup.py中name一致,路径为Docker固定路径 "mylibrary @ file:///library" ] )
关键注意事项
- 路径必须准确:Docker环境下固定路径为
/library,因此file:///library的写法(三个斜杠对应绝对路径)是正确的。 - 库的
setup.py需完整:只有当库的setup.py配置规范时,setuptools才能识别并自动安装该库及其自身的依赖。 - 安装行为:执行
cd /app && python setup.py install或cd /app && pip install .时,setuptools会自动处理本地依赖,完成mylibrary及其依赖的安装。
内容的提问来源于stack exchange,提问作者Att Righ
相关产品推荐
相关产品推荐

