2012-02-19 2 views
26

私はeasy_installpipです。sudoを使わずにvirtualenvをインストールするには?

私はLinux Mint 12に多くのエラーがありました。ただ再インストールしたので、すべてを最初からインストールしたいと思います。

This私が抱いていたエラーの1つです。私はそこに面白い答えを受け取った:

Stop using su and sudo to run virtualenv.
You need to run virtualenv as your normal user.
You have created the virtualenv with sudo which is why you are getting these errors.

sudoを使用せずにvirtualenvをインストールするには、どのように? sudoを使用せずにpipまたはeasy_installを使用できますか?それとも別の方法がありますか?

+2

注意を入力します。 rootとして 'virtualenv'を実行していて、' virtualenv'はrootとして実行したくありません。権限を削除してもう一度やり直してください –

+0

rootとして 'virtualenv'をインストールする場合と、rootとして実行する場合とで大きな違いがあります。あなたが挿入した見積もりは、 'virtualenv'のインストールを話すのではなく、Pythonプロジェクトのための仮想環境を設定するためのものです。 – jpaugh

答えて

25

この解決策はvirtualenvがシステム全体で利用できない場合に適しており、ルートになってvirtualenvをインストールすることはできません。私がPythonの開発やデプロイメントのためにdebianをセットアップするときはいつもapt-get install python-virtualenvです。下に指摘されているブートストラップを行うよりも、それを持ち歩く方が便利です。しかし、根本的な力がなければ、それは行く方法かもしれません:

あなたが行く必要があるブートストラップのメカニズムがあります。

読む:UNIX環境でのホームディレクトリでこれを行うだろう。本質的にhttp://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python

:あなたのpythonを考える

は、最適化の余地があるかもしれませんバージョン2.6

 

    $ mkdir ~/bin 
    $ mkdir -p ~/lib/python2.6 
    $ mkdir -p ~/local/lib/python2.6/dist-packages 
    $ wget http://peak.telecommunity.com/dist/virtual-python.py 
    $ python virtual-python.py --no-site-packages 
    $ wget http://peak.telecommunity.com/dist/ez_setup.py 
    $ ~/bin/python ez_setup.py 
    $ ~/local/bin/easy_install virtualenv 
    $ ~/local/bin/virtualenv --no-site-packages thereyouare 

です。私はlocalパスが嫌いです。ちょうどbinlibはいいでしょう。しかし、それはその仕事をします。

+0

ありがとうございました! 'python virtual-python.py --no-site-packages --prefix = \' pwd \ ''を使うと、ホームディレクトリ以外のディレクトリに 'virtual-python'をインストールして、ディレクトリの汚染を防ぐことができます。 –

+2

-pスイッチを使用すると、3行目だけが必要です...再帰的なディレクトリの作成が行われます。 – RobotHumans

+14

おそらく、これは古いバージョンのvirtualenvで有効でした。現時点では、root以外のマシンでvirtualenvを実行したい場合は、 'https:// github.com/pypa/virtualenv/releases'のものをダウンロードしてuntarしてから、' python virtualenv.py/path/to/new/virtualenv/to/create' – Claude

14

一般的な考え方は、グローバルにvirtualenv自体をインストールするために、すなわちsudo easy_install virtualenvsudo pip install virtualenvであるが、その後ローカル実際の仮想環境(「実行virtualenvのを」)を作成します。

+3

//しかし、質問はいかがですか。 virtualenvパッケージの多くは、特にCEntOS 6の場合、一度インストールされるとsudoが必要になります。 –

8

http://opensourcehacker.com/2012/09/16/recommended-way-for-sudo-free-installation-of-python-software-with-virtualenv/は、次のことを示唆している:

curl -L -o virtualenv.py https://raw.githubusercontent.com/pypa/virtualenv/master/virtualenv.py 
python virtualenv.py vvv-venv 
. vvv-venv/bin/activate 
pip install vvv 

うまく機能しているようです。それはhttps://github.com/miohtama/vvvpipをインストールすることができます。あなたが取得する場合

Cannot find sdist setuptools-*.tar.gz 
Cannot find sdist pip-*.tar.gz 

は、私がversion of virtualenv "ポータブル" を作成しましたhttps://github.com/pypa/virtualenv/tree/develop/virtualenv_support

2

でtarballをダウンロードした後--extra-search-dirを試してみてください。

wget https://bitbucket.org/techtonik/locally/raw/tip/06.get-virtualenv.py 
python 06.get-virtualenv.py 

それは.locallyサブディレクトリに依存関係を持つvirtualenv.pyスクリプトをダウンロードし、そこからそれを実行します。これが終わると、.locally/subdirを持つスクリプトをどこにでもコピーすることができます。

+0

解決方法を使用すると、このエラーが発生します。 '/files/spegni/.locally/virtualenv.pyのハッシュ/サイズの確認 トレースバック(最新のコール最後): ファイル "06.get-virtualenv。" getsecure(戦利品、ファイル指定) ファイルの行163、 "PY 06" getsecure チェック(ファイルパス、エントリ[ 'HASHSIZE']、静かな) ファイルで、ライン132、" 06.get-virtualenv.py (ファイルパス、shize、ハッシュサイズ(ファイルパス)) %(ファイルパス、shize、ハッシュサイズ(ファイルパス)) __main __。HashSizeCheckFailed:/files/spegni/.locally/virtualenv.pyのハッシュ/サイズの不一致 exp: 98477 行為a506a836ef76301bc19e5a209984a4286529a79b:d205cbd6783332a212c5ae92d73c77178c2d2f28 9' – FSp

+0

@FSp、pypaチームが1.11.xバージョンのためのブランチを殺した固定今すぐトライ –

+1

は12.0.7 –

6

以下のコマンドを使用することもできますが、それはsudoのアクセスなしで私のために働いています。 またexportsee this SO answer for more detailsを使用してPYTHONPATH環境変数を変更する必要があります。

pip install --user virtualenv

3

Thisは私のために働いた:

pip install --target=$HOME/virtualenv/ virtualenv 
cd somewhere/ 
python $HOME/virtualenv/virtualenv.py env 
. env/bin/activate 

今、私は、このようなPythonの開発ライブラリとして不足している依存関係をgccでものをコンパイルする必要があり、持っているすべてのものを除いて(好きなpip installすることができますし、 Python.h)。

1

あなたはAnacondaを使用して検討する必要があります。これは本格的なPythonディストリビューションです。あなたのホームディレクトリ。どの時点でもsudoが必要ではなく、人気のあるパッケージのほとんどを手に入れることができます。

$ wget https://.../Anaconda2-2.5.0-Linux-x86_64.sh # check the website for the exact URL, it can change 
$ bash Anaconda2-2.5.0-Linux-x86_64.sh 
$ conda install virtualenv 
2

基本的な考え方は${HOME}/.localにvirtualenvの(またはその他のpythonパッケージ)をインストールすることです。これはPythonパスにデフォルトで(Pythonだけでなく)組み込まれているため、最も適切な場所です。あなたがpip3 install virtualenv --prefix=${HOME}/.localによって行う

(あなたが${HOME}を拡大する必要があるかもしれません)。あなたがexport PATH=${HOME}/.local/bin:${PATH}を持っていることを確認してください あなた~/.profile(追加した場合は、source ~/.profileそれをする必要があるかもしれません)

0

私がこれまで見てアナコンダをインストールすることですしている最も簡単な方法。 それはあなたにとって過度のものかもしれません。私にとっては、リモートサーバ上で動作するCentOSはpython2.6だけがインストールされていました。デフォルトでは、Anacondaはローカルにすべてをインストールする+それが

curl -O https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh 

その後

bash Anaconda2-4.2.0-Linux-x86_64.sh 

ブームpython2.7

です。 numpyやpipなどのパッケージがすべてインストールされています。あなたはvirtualenvのをしたい場合 はその後、ちょうどそれが `su`と` sudo`言うとき、これが実際に意味することはroot`として `であることを

pip install virtualenv 
+0

をVIRTUALENVにアップデートこれはOPの質問に答えるしない彼はすでにピップを持っていると望んでいます。。。。驚くことなくvirtualenvをインストールするo。 – MYGz

+0

@Ghazi質問によれば、「すべてを最初からインストールしたい」 OPの質問に正確に答えることができない場合でも、他の誰かがそれをIとして役立つでしょう。 –

+0

"すべて"とは何が定義されていますか?アナコンダはあなたのすべてです。 – MYGz

関連する問題