我想开发一个开源的python包(toga-android)。为了测试我编写的代码,我必须能够构建我自己的项目,该项目将开源包作为依赖项。我的项目必须使用setuptools构建,所以我需要setuptools来使用我的软件包版本来实现依赖,而不是从PyPI获取软件包。 问题是setuptools总是从PyPI获取包。
每当我使用setuptools构建时,我都会看到:
收集toga-android == 0.3.0.dev8
或
收集toga-android == 0.3.0.dev8
显然,它是从PyPI获取包或使用缓存版本。
我使用pip install -e .
安装了我的版本,但这没有效果。我还尝试使用setup.py在我的项目目录中包含软件包的源代码。 Setuptools显然包含此代码,因为语法错误会导致构建失败,但它不能识别它可以满足依赖性。它仍然从PyPI获取包,从包导入的任何模块都是PyPI版本。
如何使用PyPI中的自定义版本的软件包作为setuptools依赖项?
重现的步骤:
pip install公文包(使用或不使用virtualenv无关紧要)
git clone https://github.com/pybee/toga.git
cd~ / toga / src / core; sudo pip install -e。
cd~ / toga / src / android /; sudo pip install -e。
cd~ / toga / examples / tutorial0
python setup.py android
输出将显示已下载旧版本的toga-android,即使它已经安装了pip。