from fabric.api import sudo, put, run
def install():
run('source /home/user/.virtualenvs/demo/bin/activate')
run('pip install requests')
if __name__ == '__main__':
install()
# to run this, do fab fabfile
Q1。その環境にpipをインストールしたい。ただし、スクリプトが実行された後、リクエストはvirtualenvにインストールされません。なんで?
Q2。ホスト情報の提供を求められます(以下は第1四半期のログでもあります)。私の目標がローカルで実行することである場合、これを処理するためのより良い方法はありますか?
No hosts found. Please specify (single) host string for connection: localhost
[localhost] run: source /home/user/.virtualenvs/demo/bin/activate
[localhost] Passphrase for private key:
[localhost] Login password:
[localhost] run: pip install requests
[localhost] out: Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages
[localhost] out: Requirement already satisfied (use --upgrade to upgrade): certifi>=0.0.7 in /usr/local/lib/python2.7/dist-packages (from requests)
[localhost] out: Requirement already satisfied (use --upgrade to upgrade): oauthlib>=0.1.0,<0.2.0 in /usr/local/lib/python2.7/dist-packages (from requests)
[localhost] out: Requirement already satisfied (use --upgrade to upgrade): chardet>=1.0.0 in /usr/lib/python2.7/dist-packages (from requests)
[localhost] out: Requirement already satisfied (use --upgrade to upgrade): rsa in /usr/local/lib/python2.7/dist-packages (from oauthlib>=0.1.0,<0.2.0->requests)
[localhost] out: Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.0.13 in /usr/local/lib/python2.7/dist-packages (from rsa->oauthlib>=0.1.0,<0.2.0->requests)
[localhost] out: Cleaning up...
[localhost] out:
アップデート
run
1つのコマンドでパッケージをインストールできます。それを行うためのより良い方法はありますか?
ありがとう。
更新コードは次のとおりです。
from fabric.api import sudo, put, run
from fabric.context_managers import prefix
def install():
with prefix('source /home/user/.virtualenvs/demo/bin/activate'):
run('pip install requests')
if __name__ == '__main__':
install()