19

runserver仮想環境の実行中にプロジェクトのいずれかを実行しようとすると、このエラーが発生します( workon django1.2

エラー :

ImportError: cannot import name "urandom"

問題を調査した後、私はこれを見つけまし

警告Pythonバグ修正リリース2.6.8、2.7.3、3.1.5、および3.2.3には、以前のリリースのUnixホストで作成されたvirtualenvで、「importrandom」が「cannotimportnameurandom」で失敗する変更が含まれています。基盤となるシステムPythonがアップグレードされている場合、Python 2.6 / 2.7 / 3.1/3.2の これは、virtualenvがシステムPythonの標準ライブラリを使用しているが、Pythonインタープリターの独自のコピーが含まれているため、システムPythonにアップグレードすると、Pythonインタープリターのバージョンと標準ライブラリのバージョンが一致しなくなります。 。$ ENV / bin / pythonを削除し、アップグレードされたPythonと同じターゲットディレクトリでvirtualenvを再実行することで修正できます。

しかし、走ることENV/bin/pythonは私に与えます:

bash: ENV/bin/python: No file or directory of this type

virtualenディレクトリはどこにありますか?

私はvirtualenvsについてほとんど理解していないので、我慢してください

ありがとう

4

1 に答える 1

32

仮想環境を再作成する必要があります。

私の推測では、次のことが起こったと思います。

  1. virtualenvを作成しました
  2. 後のある時点で、システムのPythonインストールがurandomセキュリティバグ修正で更新されました。
  3. (以前のPythonポイントリリースから作成された)virtualenvはもう機能しません(質問で言及した問題のため)

最も簡単な修正は、仮想環境を削除して新しい環境を作成することです。

$ rm -r VIRTUALENVDIR
$ virtualenv VIRTUALENVDIR
$ . VIRTUALENVDIR/bin/activate

# then pip install any required packages, if your project has a requirements.txt file,
# this is simply:
$ pip install -r requirements.txt

# otherwise, you will have to install each package
$ pip install packagename
$ pip install packagename==version
于 2012-11-02T12:08:41.933 に答える