我在ubuntu工作。我之前在root中安装了django == 1.3。现在,我使用virtualenv
将本地虚拟环境名称创建为 local_env 。然后我使用 source 命令激活了 local_env 。但是我没有在这个 local_env 环境中安装django。当我尝试使用
django-admin.py startproject sampleproject
它完美无缺。我的问题是,它没有阻止来自 root 环境的 local_env ?我的意思是它没有像django-admin.py command didn't found
那样引发错误。如果有任何疑问,请发表评论。
答案 0 :(得分:1)
django-admin.py
位于操作系统路径中。当您尝试在虚拟环境中执行它时,python将查看它的VE sys.path
,如果没有找到,它将搜索操作系统路径,从根环境中找到它,因此没有显示错误。
答案 1 :(得分:0)
根据docs,django-admin.py命令安装在您的系统路径上,因此如果virtualenv找不到此命令,它可能会查找全局sys路径并查找匹配项
如果你想在你的sys路径上安装一个不同版本的django,你需要使用像pip这样的包管理器在你的vritualenv中安装它,然后这将先于全局django-admin。吡啶
要确保您正确执行此操作,请使用
加载virtualenvdhanna@dhanna:~$ source local_env/bin/actviate
如果成功,您的提示应该在开头具有virtualenv名称 - 例如
(local_env)dhanna@dhanna:~$
请注意,如果在一个shell中激活virtualenv,但在单独的shell中运行python解释器,则将使用全局解释器,因此可以使用全局django-admin.py模块。
接下来,您将要安装django模块
(local_env)dhanna@dhanna:~$ pip install django
要检查虚拟环境中是否安装了django,可以使用包管理工具pip并传递冻结参数
(local_env)dhanna@dhanna:~$ pip freeze
现在您可以使用virtualenv的django-admin.py
版本(local_env)dhanna@dhanna:~$ django-admin.py startproject sampleproject