我正在创建一个 setup.py 来分发我的应用程序。 这个应用程序有许多依赖项,可以通过pip安装,它也有一些自定义依赖项,无法从PyPI安装。
因此,我创建了一个custom_package_0.1.whl
,它将包含在发行版中,必须在 setup.py 安装install_requires
之后的所有内容时作为依赖项安装。
想象一下以下的app结构:
my_app/
win_deps/custom_package_0.1.whl
my_app/
__init__.py
main.py
setup.py
setup.cfg
我该怎么做?
答案 0 :(得分:7)
有一种新技术(自 19.1 版起)称为 Direct references。 假设您的文件托管在本地主机上。
PublicTenantAppService
答案 1 :(得分:2)
您可以选择以下几个选项:
dependency_links
。my_app
包中,并将其与packages
参数链接,而不是使用滚轮文件。setuptools
api,并自行安装包。答案 2 :(得分:1)
扩展wiesiu_p的答案,您可以通过链接到依赖项的源目录来安装依赖项,该源目录具有自己的setup.py
:
setup(
...,
install_requires=['my-package'],
dependency_links=[
# location to your my-package project directory
''.join(['file:\\', os.path.join(os.getcwd(), 'path', 'to', 'my-package_project_folder#egg=my-package-1.0')])
]
)
答案 3 :(得分:0)
可能,但不确定应使用哪个setuptools版本。 步骤:
在setup.py
{"scottsTickets":{"agent":"Scott","activeTickets":1,"onHoldTickets":0,"unreadTickets":0}}
重要的是,您的位置不应通过URL模式测试,并且egg文件名应具有结构setup(
...,
install_requires=['my-package'],
dependency_links=[
# location to your egg file
os.path.join(os.getcwd(), 'deps', 'my_package-1.0.0-py3.5.egg')
]
)