2016-11-30 7 views
0

1はbashスクリプトで使用するのpythonのバージョンを定義している場合、それはbashscriptを実行するときに、どのようにPythonのvirtualenvを入力しますか?

export PYTHON = "/path/python/python-3.5.1/bin/python" 

しかし、Pythonのvirtualenvのののためになるには、1が1 "がどのよう

cd /path/pathto/virtualenv 
source activate 
cd another_directory 

コマンドラインでこれらのコマンドを実行しbashスクリプトにPython virtualenvを入力しますか?ここでの標準的なアプローチは何ですか?ここで

+0

使用Pythonスクリプトの

コンテンツ。ファイルを '#!/usr/bin/env python' –

+0

@IporSircerあなたはvirtualenvを入力するためにpythonスクリプトをどのように使いますか? – ShanZhengYang

答えて

2

:あなたはbashスクリプトで/コール・パイソン(またはPythonベースのツール)を使用したい

  1. が、Pythonや、それらのツールはから取られるべきであるとvirtualenvの
の内側にあなたが他のものの中で、あなたが対話形式でのpython(またはPythonベースのツール)を呼び出すことができるように、それは、virtualenvのを入力して呼び出し元のシェルをすることができ、スクリプトをしたいvirtualenvの
  • で実行されます

    ケース1:スクリプト内のvirtualenvの使用

    どのようにしてbashスクリプトにPython virtualenvを「入力」しますか?

    だけでインタラクティブなbashのコマンドライン上のような

    source /path/to/the/virtual_env/bin/python 
    

    ここで標準的なアプローチは何ですか?

    標準的なアプローチは、bashスクリプトでない入力にvirtualenvのです。その代わりに、pythonおよび/またはpythonベースのコマンドをフルパスで使用するように呼び出します。これを簡単にし、繰り返しを少なくするために、エイリアスと変数を使用できます。

    ケース2:スクリプト

    を呼び出すことによって、対話型bashのセッションではvirtualenvがアクティブにはすでに、このようなスクリプトです。これはactivateと呼ばれ、virtualenvのbinディレクトリにあります。通常のコマンドのように呼び出すのではなく、sourceにする必要があります。それだけでは、サブシェルの代わりに同じセッションで実行されるので、スクリプトの最後にサブシェルが終了するために失われないセッションを変更することができます。

    は、だからやる:あなたの対話型シェルセッションで

    source /path/to/the/virtual_env/bin/python 
    

    を。

    しかし、activateスクリプト以上のことをしたいのですが?シェルスクリプトに

    source /path/to/the/virtual_env/bin/python 
    

    を入れることができます。 しかし、上記の理由によりは、スクリプトを正常に呼び出すとあまり効果がありません。代わりに、sourceあなたのスクリプトは、インタラクティブなセッションからそれを使用する。

    したがって:my_activate.sh

    #!/bin/bash 
    
    # Do something 
    # ... 
    
    # then 
    source /path/to/the/virtual_env/bin/python 
    
    # Do more stuff 
    # ... 
    

    とインタラクティブセッションでのpython virtualenvのを入力するための

    source my_activate.sh 
    
  • 0

    が従うべきいくつかのステップで、あなたが行うことができます一つのことは

    export PYTHON = "/path/pathto/virtualenv/python" 
    

    を使用するのbashrcにこのパスを使用することです。私はvirtualenvwrapperを使用することをお勧め

    alias python=/path/pathto/virtualenv/python 
    source ~/.bashrc 
    
    +0

    "bashrcでこのパスを使用してください。"私はフォローしていません。 virtualenvを "アクティブにする"にはどうすればいいですか? – ShanZhengYang

    +0

    virtualenvを有効にする必要はありません。 "/ home/rakeshkumar/trading/venv/bin/python"のように、このパス "/ path/pathto/virtualenv/python"を使用してください。私はエイリアスの方法に従って、私のためにうまく動作します。 –

    +0

    通常のPythonは2.7、virtualenvにエイリアスを使った後、3.5を使ってpythonコマンド –

    0

    を終了し、設定する

    vim ~/.bashrc 
    

    ゴー - :またはあなたのような何かを行うことができます。仮想環境を管理するための便利なツールがいくつか用意されています。

    ​​

    仮想環境を作成するときに、その環境で使用するPythonのバージョンを指定します。

    mkvirtualenv -p /usr/local/bin/python2.6 myproject.2.6 
    mkvirtualenv -p /usr/local/bin/python3.3 myproject.3.3 
    

    次に、workonコマンドを使用して環境を「入力」します。我々はここで2例とを区別しなければならない

    workon myproject.2.6 
    
    関連する問題