控制Python包版本

时间:2014-11-10 14:21:09

标签: python svn pip

所以我正在盯着一个情况,我希望你们好人可能会有一些关于如何以最小的复杂性解决它的建议。

我正在维护一个用Python开发它的小实验室。我们所有的用户都在内部,但维护自己的机器。我们自己的源文件保存在SVN中,但我们的各种依赖项存储在实验室维基中以供下载。多年来我们第一次看到更新我们的依赖版本,我想找一些更清洁的东西然后从网站复制安装程序或鸡蛋,在实验室ftp上存储,告诉用户从那里获取它&# 39;

我们的内部用户往往是非技术性的,这就是为什么旧的设置只是一堆安装程序。这有其自身的问题,维护很困难(特别是在次要更新方面),你必须为每个操作系统获取单独的安装程序,并且并非所有软件包都有准备好的.exe安装程序,因此用户必须安装一些以另一种方式打包单向和其他包。对开发人员来说不是问题,但对用户来说并不是很好。

对于像RPM这样的东西,在过去,我已经能够将一个本地仓库放在一起并为用户提供他们安装一次的东西,然后他们所有的更新都通过我们控制的仓库。这对于不会因复杂性而烦恼的用户以及严格控制他们已经安装了各种库的版本的开发人员来说非常有用。

我环顾四周,看到了有点触及这个问题的问题,但没有解决这类问题。有没有快速而肮脏的方法来做这样的事情?

谢谢!

1 个答案:

答案 0 :(得分:0)

我目前正在处理与

类似的情况
  • devpi作为也支持本地上传的pypi缓存
  • 作为安装程序的点子
  • 轮子作为包装格式
  • virtualenv处理python版本控制(你可能不需要这部分)。

各种内部项目在setup.py中进行了版本化并内置到轮子中。

python setup.py bdist_wheel
devpi login username
devpi use http:/someserver:3141/user/repo_index
devpi upload dist/whatever

我在网络上有一个pip要求文件,用户有一个指向devpi服务器的pip.conf文件。用户使用

更新包
pip install -U http://someserver/requirements_file