【发布时间】:2016-06-21 11:45:32
【问题描述】:
我创建了几个月的 virtualenv。我遇到了一个问题。
当我激活虚拟环境时,我可以访问像 django 这样的库:
source virtualenv/jsms/bin/activate
(jsms)local% python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> exit()
(jsms)local% deactivate
但是当我使用 bin 文件夹中的 python 时,我无法访问 django:
local% virtualenv/jsms/bin/python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
更奇怪的是,当我使用 bin 文件夹中的 python3.4 时,我使用的是 python 2.7 :
local% virtualenv/jsms/bin/python3.4
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
你知道一种直接从 bin 文件夹中的 python 访问 lib 的方法吗?
【问题讨论】:
-
您为什么希望能够做到?您需要
activate虚拟环境的原因是因为它不仅仅是指向正确的解释器那么简单。你到底想达到什么目的? -
我想从另一个 python 脚本运行 django dev server。我尝试使用 os.popen('~/virtualenv/jsms/bin/python ~/project/manage.py runserver 127.0.0.1:8000') 但它不起作用。我不能使用 os.popen('~/virtualenv/jsms/bin/activate') 然后 os.popen('~/project/manage.py runserver 127.0.0.1:8000 ')
-
为什么其他脚本不能在同一个环境下运行?
-
由于我公司的基于python由系统管理员管理,开发人员使用他们的virtualenv。
标签: python django virtualenv