我们的系统人员使用git捆绑源代码并且不支持pip。 git存储库包含一个压缩的tar文件。并且tar文件中有一个setup.py。我认为在我的项目中公开这个的最简单方法是在我的pip requirements.txt中添加一个-e git...
行,并在git存储库的根目录中添加一个setup.py供pip使用。最后一步是如何编写一个安装tar文件作为源代码分发的setup.py。
/package
/SOURCES
package.tar.gz
/SPECS
site-specific-server-installation-script
另外,我可以得到一个执行这些操作的setup.py:
cd package/SOURCES
tar xzfv package-1.0.6.tar.gz
cd package-1.0.6/
python setup.py
答案 0 :(得分:2)
我选择在git包的根目录中编写一个伪setup.py文件:
import os
import subprocess
if __name__ == '__main__':
package_name = 'package'
short_package_name = 'package-1.0.6'
print "Changing to SOURCES"
os.chdir('SOURCES')
tar_file = '.'.join([short_package_name, 'tar', 'gz'])
print "Untarring ", tar_file
p = subprocess.Popen(['tar', 'xzfv', tar_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, errors = p.communicate()
print "Changing to ", short_package_name
os.chdir(short_package_name)
print "Setting up source distribution"
p = subprocess.Popen(['python', 'setup.py', 'install'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, errors = p.communicate()
根本不使用安装API,而是依赖于使用setup.py名称在安装时调用。
然而,我可靠地得知,easy_install支持从tar文件安装:'easy_install SOURCES / source.tar.gz'。那么,是否有一个pip -e ...git
指令允许从git中提取git存储库并从嵌套的tar文件安装?