2017-02-16 12 views
2

私はシンプルなアプリケーション(ただ1つの.pyファイル)を持っています。これは、cherrypy &フラスコを使ってWebサービスを提供しています。私の開発環境はWindowsです。私はPython 3.5.2を使用し、virtualenvを作成して使用して、自分のプロジェクトで作業します。Pythonアプリケーションのrpmを作成するには

私はこれをLinuxシステムに導入する必要があります。 Linuxマシンにインストールして実行できるように、このための「RPM」を作成するように求められました。

私はGoogleで検索し、ドキュメントのいくつかの部分を読んだ:

しかし、私は上でこれを展開するために行われる必要がある手順に非常に不明瞭ですLinuxシステム。すべてのあなたの助けを前もってありがとう。

+0

すべてのLinuxシステムがRPMを使用するわけではありません。 'requirements.txt'ファイルだけで何が問題になりますか? –

+0

CentOS用RPMが必要です – Sam

答えて

2

これはcolor_printは、ここでパッケージ名とディレクトリ

. 
├── color_print 
│   ├── color_print.py 
│   └── __init__.py 
├── __init__.py 
└── setup.py 

は、ディレクトリを変更する必要はありませんデモ

from setuptools import setup 

setup(name='color_print', 
    version='0.1', 
    description='Color String', 
    url='http://github/xxxx/color_print/', 
    author='Joe Bob', 
    author_email='[email protected]', 
    license='MIT', 
    packages=['color_print'], 
    zip_safe=False) 

たとえばsetup.pyであり、treeコマンドによるミニデモ構造の出力でありますこの1つのコマンドを実行してRPMを構築する

python setup.py bdist_rpm 
実際には

-bash-4.1$ find . -name "*.spec" 
./build/bdist.linux-x86_64/rpm/SPECS/color_print.spec 
-bash-4.1$ find . -name "*.rpm" 
./dist/color_print-0.1-1.noarch.rpm 
./dist/color_print-0.1-1.src.rpm 

は、あなたは間違いなく、手動でスペックファイルを変更する必要があります:

はここで出力され、それは簡単なことです。実行する

rpmbuild -ba ./build/bdist.linux-x86_64/rpm/SPECS/color_print.spec 
+0

ありがとう!上記の手順を試してみる前に、別の質問があります。 rpmをこのようにすると、正しいバージョンのPythonもターゲットシステムにインストールされますか?私はこのようにしなければなりません... CentOSのターゲットシステムにPython 3.5.2をインストールする方法はありません。それはPythonの古いバージョンを持っている可能性があります...それは私のアプリケーションはpython実行可能ファイルの正しいバージョンをピックアップする必要があるので、それは単なる痛みです。 – Sam

+0

@sam、あなたが使用しているcentosのバージョンを確認するには 'cat/etc/redhat.release'を実行してください。バージョン7の場合、' sudo yum install -y python35u python35u-libs python35u-devel python35u-pip'の場合は、システム管理者にこのオプションを話す必要があります。そうでない場合は、オプションが制限されます。 – Gang

+0

@samここでは、virtualenv 'https:// www.alexhudson.com/2013/05/24/packaging-a-virtualenv-really-not-relocatable /'からのrpmのビルドに関するコメントです。virtualenvの全体的なアイデアは、 yum/rpmパッケージシステムのあなたのcentosであなたのコードを変更することは可能ですか簡単ですか?ステップのおかげで – Gang

関連する問題