質問

だから、ターミナルを開いてデスクトップにcdして実行します:

virtualenv test_env

次に、通常の環境で次のファイルを作成します。

/home/jesse/.local/lib/python2.6/site-packages/foo_package / __ init __。py

このファイルには1行が含まれています:

print"通常の環境からのインポート"

test_envで作成するもの:

/home/jesse/Desktop/test_env/lib/python2.6/site-packages/foo_package / __ init __。py

含む:

print"テスト環境からインポート"

今、ターミナルを開いて実行します:

$ / home / jesse / Desktop / test_env / bin / python

そして次に:

>>> foo_packageをインポート

出力:

通常の環境からのインポート

なぜtest_envからファイルをインポートしないのですか?それがvirtualenvのポイントだと思いました。ここに何か足りないのですか?

編集:ジョンHは、環境をアクティブにする必要があることを通知しました。しかし、これで問題は解決しないようです...

jesse@jesse-laptop:~/Desktop/test_env$ source bin/activate
(test_env)jesse@jesse-laptop:~/Desktop/test_env$ bin/python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import foo_package
importing from normal env
>>> 

関連する場合、Ubuntu 9.04 / Python 2.6.2 / virtualenv 1.33を使用します。

編集2: Haesが、私のvirtualenvにあるsys.pathを尋ねました...

jesse@jesse-laptop:~/Desktop/test_env$ source bin/activate
(test_env)jesse@jesse-laptop:~/Desktop/test_env$ bin/python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path

出力: [''、 '/ home / jesse / Desktop / test_env / lib / python2.6 / site-packages / setuptools-0.6c9-py2.6.egg'、 '/ usr / local / lib / python2.6 / dist- packages / enum-0.4.3-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / clonedigger-1.0.9_beta-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / ETS-3.2.0-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / TraitsGUI-3.0.4-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / TraitsBackendWX-3.1.0-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / TraitsBackendQt-3.1 .0-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / yolk-0.4.1-py2.6.egg '、' / usr / local / lib / python2.6 /dist-packages/pylint-0.18.0-py2.6.egg'、'/usr/local/lib/python2.6/dist-packages/logilab_astng-0.19.0-py2.6.egg'、'/usr /local/lib/python2.6/dist-packages/logilab_common-0.39.0-py2.6.egg'、'/usr/local/lib/python2.6/dist-packages/pudb-0.92.7-py2 6.egg '、' / usr / local / lib / python2.6 / dist-packages / Pygments-1.0-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / ETSProjectTools- 0.5.1-py2.6.egg '、' / usr / local / l ib / python2.6 / dist-packages / pydee-0.4.24-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / visionegg-1.2.1-py2.6-linux -i686.egg '、' / usr / local / lib / python2.6 / dist-packages / PyOpenGL-3.0.0c1-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages /Whoosh-0.2.6-py2.6.egg'、'/usr/local/lib/python2.6/dist-packages/pyinotify-0.8.6-py2.6.egg'、'/usr/local/lib /python2.6/dist-packages/svgbatch-0.1.9-py2.6.egg'、'/usr/local/lib/python2.6/dist-packages/pyglet-1.1.3-py2.6.egg ' 、 '/ usr / local / lib / python2.6 / dist-packages / lepton-1.0b2-py2.6-linux-i686.egg'、 '/ usr / local / lib / python2.6 / dist-packages / rope -0.9.2-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / simplejson-2.0.9-py2.6-linux-i686.egg '、' / usr / local /lib/python2.6/dist-packages/pymunk-0.8.4-py2.6.egg'、'/usr/local/lib/python2.6/dist-packages/cssutils-0.9.6-py2.6 egg '、' / usr / local / lib / python2.6 / dist-packages / Shapely-1.0.14-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / sympy- 0.6.5-py2.6.egg '、' / usr / local / lib / python2.6 / dist-packages / virtualenvwra pper-1.20-py2.6.egg '、' / home / jesse / Desktop / test_env / lib / python2.6 '、' / home / jesse / Desktop / test_env / lib / python2.6 / plat-linux2 '、' /home/jesse/Desktop/test_env/lib/python2.6/lib-tk'、'/home/jesse/Desktop/test_env/lib/python2.6/lib-old'、'/home/jesse/Desktop/test_env /lib/python2.6/lib-dynload'、'/usr/lib/python2.6'、'/usr/lib/python2.6/plat-linux2'、'/usr/lib/python2.6/lib- tk」、「/ home / jesse / .local / lib / python2.6 / site-packages」、「/ home / jesse / Desktop / test_env / lib / python2.6 / site-packages」、「/ usr / local / lib / python2.6 / dist-packages '、' / usr / lib / python2.6 / dist-packages '、' / usr / lib / python2.6 / dist-packages / Numeric '、

役に立ちましたか?

解決

virtualenvのバグに直面しています。 .localディレクトリを適切に処理するようにまだ更新されていません。 でこの問題を提出しましたバグトラッカー

更新:このバグは修正されました virtualenv 1.4.2以降。

他のヒント

言及した手順から、仮想環境を有効にしていないようです。実行:

source bin/activate

..作成したvirtualenv内。次のように表示されます。

(test_env)computername:foldername$

ここからpythonを実行すると、virtualenvバージョンが取得されます。

このステップがなくても、デフォルトのPythonインストールが引き続き使用されます。

編集:私の上の投稿は正しいので、アクティベートするのを忘れました。 virtualenvwrapperを使用して、私は本当にそのステップを実行したことがないので、私の悪い:)

それを見ると、あなたはすべてを正しくやっているように見えますが、あなたがそれを聞いたことがない場合に提案をしたいと思います: virtualenvwrapper を使用すると、virtualenvの操作が非常に迅速かつ簡単になります。試してみて、同じ問題がまだ発生するかどうかを確認するのは楽しいかもしれません。

そして、オプション--no-site-packagesを使用して仮想環境を作成する必要があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top