2016-05-10 12 views
0

setup.pyに私のPythonパッケージの必要条件があり、私はが存在するディレクトリからpip install .を単に実行します。私はrequirementsファイルを持っていないし、1つ持っていたくない。 requirements.txtの代わりにsetup.pyを使用するにはどうすればよいですか?塩を設定してvirtualenv.managed

答えて

0

virtualenvにpipパッケージをインストールしてsetup.pyを実行する必要があります。

私は、setup.pyトリガはセルフサービスモジュールのためのもので、外部パッケージはsaltstack virtualenv setupの下に置く必要があるので、必要な外部パッケージがインストールできなかったかどうかを確認する必要があります。しかしそれはまた自分の好みにもよります。

virtual.pyの中でsetup.pyを実行するには、virutalenvを呼び出すスクリプトを作成してからsetup.pyを実行する必要があります。 VI run-setup.sh

#!/bin/bash 
source $HOME/.virtualenv/xyz/bin/activate 
cd $HOME/xyz_app 
python setup.py 

その後、

run setup.py for my xyz app : 
    cmd_run: 
    - name: bash <xyz_app folder name>/run-setup.sh 
    - user: <username> 
    - group: <groupname> 

は、UPDATE、それを実行するために、状態ファイルでcmd.runを使用:あなたはあなたのに特定のPythonパッケージをロードしたいので

virtualenv、あなたはセットアップ中にすぐにそれを行うことができます。次に、cmd.runを使ってsetup.pyを起動して(カスタムアプリケーションを動作させるための)バッチをvirtualenvにロードするだけです。

create-my-apps-virtualenv: 
    virtualenv.managed: 
    - name: /home/myapphome/.virtualenv/myapp 
    - user: myappusername 
    - no_chown: False 
    # install this pacakge to my virtualenv, package must be case sensitive according. 
    - pip_pkgs: json, MySQL-python,SQLAlchemy 
+0

'pip.installed'または' virtualenv.managed'を使って行う方法はありませんか?重要な機能のようだ。 'setup.py'のpythonモジュールがインストールされていないと、' requirements.txt'からパッケージをインストールするためのポイントがないようです。 – ebnius

+1

まあ、salt.modules開発者がニッチ機能を働かせることに同意します。これらのモジュールIMHOの一部としてsetup.pyを実行すると、悪い考えであり、これらのモジュールの機能とは無関係です。 – mootmoot

+0

'pip install 'で' cmd.run'をやり終えました。ありがとうございます – ebnius