2017-01-12 7 views
1

以前は私のシステムに仮想環境がインストールされていました。私は、私が取り組んでいる2つの異なるプロジェクト用に2つの異なるVirtualEnvを作成しました。
これらの仮想環境の1つをアクティブにするために使用し、プロジェクトで作業を開始します。
最近、システムが壊れてしまい、すべてのプロジェクトと仮想環境をコピーした後にOSをアップグレードしました。プロジェクトファイルと仮想環境を私のシステムにコピーして仮想環境をインストールしました。virtualenvの再インストール後に仮想環境がアクティブにならない

私がコピーされた環境のいずれかを活性化し、Pythonのmanage.pyののrunserverを実行しようとしたときに設定.bashrcの

でPYTHONHOME = 'は/ usr/libに/のpython3は' 今、私はエラー

Could not find platform independent libraries <prefix> 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named 'encodings' 
Aborted (core dumped) 
下になりました

この仮想env内のピップを実行中に同じエラーが発生しています。

私のプロジェクトが以前と同じように機能するように私に必要なものを提案してください。

答えて

1

仮想環境を新しいシステムまたは別のOSインストール(A SO answer)に移動することはお勧めしません。

グッドプラクティスは、要件のリスト(インストールPythonパッケージ)を生成することである - 仮想環境がアクティブである間は、次のコマンドを実行します、(あなたがそれを持っている場合は、コピーvenvを削除)

$(venv) pip freeze > requirements_venv.txt 

新規インストールでセットアップA新鮮なPythonの3を使用して、仮想環境、それをアクティブにして、Pythonパッケージをインストールします。

$ virtualenv -p /usr/bin/python3 venv/ 
$ source env/bin/activate 
$ pip install -r requirements_venv.txt 

考えられる問題

Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named 'encodings' 
Aborted (core dumped) 

米国、システムのPythonの3は、いくつかの他のPythonのバージョン、すなわちPythonの2.xののために書かれたものをロードしようとしています。あなたが取得しているエラーの

最も可能性の高い原因は、、

  • 異なるPythonのバージョンで仮想環境を作成することができます。
  • 不適切なPYTHONPATH、設定後、端末を再起動しない
  • PYTHONPATH

ソリューション/ウェイアウト

まずチェックあなたがPythonシェルに入ることができるしている場合ターミナルでコマンドまたはpython3コマンドを実行します。 ない場合は、設定を解除.bashrcPYTHONPATH、端末で以下のコマンドを実行します(または任意の正確なパスは、あなたのシステム上にある):

# export PYTHONHOME=/usr/local/lib/python3.5/ 
# export PYTHONPATH=/usr/local/lib/python3.5 

今再びieieが実行シェルのPythonを起動しようとpythonまたはpython3ターミナルでのコマンドでは、あなたは以下のように似た何かを得る必要があります。

Pythonシェルの作業で
Python 3.5.2 (default, Jul 17 2016, 00:00:00) 
[GCC 4.8.4] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

は、おそらくあなたが掲示問題に直面しないかもしれない - あなたが行う場合は、コピーされた仮想環境を削除し、(インストールと新しいもの上部に記載されているように)。

0

pythonが正しくインストールされていますか? CMDで

実行Pythonといくつかの依存関係は今で

pip install virtualenv <name> 
or 
pip install virtualenv . 

アクティブで、それをvirtualenvを使用しようと正しく

sudo apt-get install --reinstall python2.7 

sudo apt-get update 

それを再インストールしてみその後、壊れている場合も

をパスをチェックソース./bin/activate

+0

私はvirtualenvを再作成する必要があるため、以前の仮想環境を再利用することはできません。 – User42

+0

@ User42そのenvにコア依存関係はありますか?彼らが通常のパッケージであれば、この新しいvirtualenvにインストールしてみてください。 –

+0

@ User42このhttp://stackoverflow.com/questions/7438681/duplicate-virtualenvとhttps://github.com/edwardgeorge/virtualenv-cloneを参照してください。 –

0

仮想環境ではシンボリックリンクリソースとバイナリを共有するために、ソースのpythonのインストールに戻ってください。私は、仮想環境を新しい/別のシステムに移行して、それを箱から出してもらうことができるはずではないことは非常に疑問だと思います。

関連する問題