setuptools,在本地系统上使用包而不是从PyPI

时间:2018-05-16 01:49:56

标签: python python-3.x python-2.7 setuptools pypi

我想开发一个开源的python包(toga-android)。为了测试我编写的代码,我必须能够构建我自己的项目,该项目将开源包作为依赖项。我的项目必须使用setuptools构建,所以我需要setuptools来使用我的软件包版本来实现依赖,而不是从PyPI获取软件包。 问题是setuptools总是从PyPI获取包。

每当我使用setuptools构建时,我都会看到:

  

收集toga-android == 0.3.0.dev8

     

正在下载https://files.pythonhosted.org/packages/92/fe/348a39e2e0bbcac2d3ed511dd2b62943b488e7dcb8097c437416caf1c179/toga_android-0.3.0.dev8-py3-none-any.whl

  

收集toga-android == 0.3.0.dev8

     

使用缓存的https://files.pythonhosted.org/packages/92/fe/348a39e2e0bbcac2d3ed511dd2b62943b488e7dcb8097c437416caf1c179/toga_android-0.3.0.dev8-py3-none-any.whl

显然,它是从PyPI获取包或使用缓存版本。

我使用pip install -e .安装了我的版本,但这没有效果。我还尝试使用setup.py在我的项目目录中包含软件包的源代码。 Setuptools显然包含此代码,因为语法错误会导致构建失败,但它不能识别它可以满足依赖性。它仍然从PyPI获取包,从包导入的任何模块都是PyPI版本。

如何使用PyPI中的自定义版本的软件包作为setuptools依赖项?

重现的步骤:

  1. pip install公文包(使用或不使用virtualenv无关紧要)

  2. git clone https://github.com/pybee/toga.git

  3. cd~ / toga / src / core; sudo pip install -e。

  4. cd~ / toga / src / android /; sudo pip install -e。

  5. cd~ / toga / examples / tutorial0

  6. python setup.py android

  7. 输出将显示已下载旧版本的toga-android,即使它已经安装了pip。

0 个答案:

没有答案