2

私は virutalenvwrapper を使用しており、django アプリケーション用の virtualenv を作成しました。私はpython 2.6.1を実行していました。これを設定した時点で、残念ながらpython 2.6.1には、kwargsでユニコード文字列を渡すことに関してバグがあります。その結果、vritualenv で使用される python バイナリを更新しようとしています。

Python 2.7.2 がすべてインストールされています。新しいpythonバイナリを使用するために現在のvirtualenvを「移行」する最良の方法は何かを理解する必要があります。

私が理解しているように、virtualenv と virtualenvwrapper は、インストール中に使用される python に敏感です。それでは、

1)python 2.7を使用していることを確認しながら、virtualenv、virutalenvwrapperをアンインストールして再インストールしますか?これを行うと、古い virtualenv は機能しますか、それとも再作成する必要がありますか?

また

2) virtualenv で使用されているバイナリを何らかの方法で更新できますか?


更新:
新しい環境をゼロから作成することになりました。
virutalenv または virtualenvwrapper をアンインストールして再インストールしませんでした。それが後で私を噛むかどうかはまだわかりませんが、今のところ問題ないようです.

virtualenv ラッパーと virtualenv で Python のバージョンを変更しても問題ないかどうかを明確に知りたいです。

4

2 に答える 2

3

virtualenvwrapperコマンドがありcpvirtualenvます。新しいPythonからそれを実行しようとしましたか?

それがうまくいかない場合は、古い virtualenv を破棄して、プロジェクト用に新しい virtualenv を作成することができます。依存関係の追跡に熱心に取り組んでいれば (または のいずれかで) 簡単に実行できるはずsetup.pyですrequirements.txt。熱心に取り組んでいない場合は、pip freeze現在インストールされているライブラリをキャプチャするために使用できます。

于 2012-06-15T20:33:04.963 に答える
0

したがって、これを読んでいる可能性のある他の人の利益のために。
今日、突然のトラブル。ssh経由でログインすると、次のように表示されました

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named virtualenvwrapper.hook_loader
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/home/*******/opt/bin/python and that PATH is set properly.

なんてこった。それはうまく機能していました...私は今1ヶ月だと思います。ssh セッションを一度も閉じていない可能性があります (つまり、virtualenvwrapper を再起動する必要はありませんでした)。

Google はあまり役に立ちませんでした。結局のところ、問題はまさにエラー メッセージが示していたものでした。指定された python の Virtualenv がインストールされていません。(2.7) 以前使用していたバージョン (2.6) D'oh 用にインストールされました。

私はもう 2.6 を実際には使用していなかったので、ローカル サイトのパッケージを含むディレクトリの名前を単純に変更しました。

~/.local/lib/python2.6/site-packages

~/.local/lib/python2.7/site-packages

(名前を変更した内容と理由を明確にするために、サイトパッケージがパスに追加されます)

同様に、python2.7 バイナリを使用して、easy_install または pip を簡単に実行して、virtualenvwrapper を新しいローカル ディレクトリにインストールすることもできます。(理論的には、適切な site-packages フォルダーを作成する必要があります)

于 2012-07-10T07:05:19.170 に答える