2011-01-27 9 views
1

私たちのシステムの人々は、gitにソースを持ち、pipをサポートしていません。 gitリポジトリには、圧縮されたtarファイルが含まれています。そして、tarファイルにはsetup.pyが入っています。これを私のプロジェクトで公開する最も簡単な方法は、-e git...行を自分のpip requirements.txtに追加し、pipを使うためのgitリポジトリのルートにsetup.pyを追加することです。最後のステップは、ソースディストリビューションとしてtarファイルをインストールするsetup.pyを書く方法です。代替で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 

答えて

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'。ですから、-e ...gitディレクティブは、gitリポジトリをgitからpullしてネストしたtarファイルからインストールできるようにしていますか?

関連する問題