安装的 Virtualenv 和激活 virtualenv 不起作用
Installed Virtualenv and activating virtualenv doesn't work
我从 Github 帐户克隆了我的 Django 项目并使用著名命令 source nameofenv/bin/activate
激活了 virtualenv
当我 运行 python manage.py runserver
它给我一个错误提示:
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
ubuntu 版本
#install python pip
sudo apt-get install python-pip
#install python virtualenv
sudo apt-get install python-virtualenv
# create virtual env
virtualenv myenv
#activate the virtualenv
. myenv/bin/activate
#install django inside virtualenv
pip install django
#create a new django project
django-admin.py startproject mysite
#enter to the folder of the new django project
cd mysite
#run the django project
python manage.py runserver
I was thinking that every and each dependency I need, might be present inside virtualenv.
嗯,不。默认情况下,新创建的 virtualenv 是空的,即没有第三方库。 (可选地,您可以允许 virtualenv 访问系统范围内安装的库,但这是另一回事。)
创建好virtualenv后,你需要安装你需要的依赖。
(virtualenv 怎么知道你需要什么依赖?)
过程是安装 virtualenv,激活它,然后安装项目所需的库(在你的情况下是 Django 或其他)。
如果您的项目有 requirements.txt,您可以使用以下命令安装每个必需的依赖项:
pip install -r requirements.txt
如果你的项目有setup.py,你也可以执行
pip install -e path/to/your/project/clone/.
将项目安装到 virtualenv 中。这应该安装依赖项。
当然,如果唯一的依赖是Django,你可以输入
pip install django
我猜你也从你的另一台电脑上传了虚拟环境。你希望只有激活它才能起作用,bzz。
不建议将 virtualenv 文件上传到您的 git 存储库,因为@Alain 说最好有一个包含项目依赖项的 requirements.txt
文件。可以使用pip freeze > requirements.txt
(环境激活时)生成项目需求文件。
这样做,当您从另一台计算机克隆存储库时,您需要通过发出命令来创建一个新的 virtualenv:
virtualenv nameofenv
然后激活它:
source nameofenv/bin/activate
最后,使用需求文件为您的项目安装需求:
pip install -r requirements.txt
如果你的机器上有多个python
,例如python2.7
、python3.4
、python3.6
,弄清楚[=是哪个版本是很重要的12=] 确实参考了 pip
参考了哪个版本。
安装 let's encrypt
后,当我 运行 以下命令时,我遇到了同样的问题。
(python3 manage.py runserver 0:8000 &)
我检查了python
版本,发现python3
、python3.4
、python3.6
、python3.4m
都可用。
我把python3
改成python3.6
就解决了问题
(python3.6 manage.py runserver 0:8000 &)
所以,这可能是版本不匹配的问题,如果用了很长时间,突然崩溃了。
我通过 pip3 install Django
安装了 Django 2,但我是 运行 python manage.py runserver
而不是 python3 manage.py runserver
。 Django 2 仅适用于 python 3+.
我从 Github 帐户克隆了我的 Django 项目并使用著名命令 source nameofenv/bin/activate
激活了 virtualenv
当我 运行 python manage.py runserver
它给我一个错误提示:
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
ubuntu 版本
#install python pip
sudo apt-get install python-pip
#install python virtualenv
sudo apt-get install python-virtualenv
# create virtual env
virtualenv myenv
#activate the virtualenv
. myenv/bin/activate
#install django inside virtualenv
pip install django
#create a new django project
django-admin.py startproject mysite
#enter to the folder of the new django project
cd mysite
#run the django project
python manage.py runserver
I was thinking that every and each dependency I need, might be present inside virtualenv.
嗯,不。默认情况下,新创建的 virtualenv 是空的,即没有第三方库。 (可选地,您可以允许 virtualenv 访问系统范围内安装的库,但这是另一回事。)
创建好virtualenv后,你需要安装你需要的依赖。
(virtualenv 怎么知道你需要什么依赖?)
过程是安装 virtualenv,激活它,然后安装项目所需的库(在你的情况下是 Django 或其他)。
如果您的项目有 requirements.txt,您可以使用以下命令安装每个必需的依赖项:
pip install -r requirements.txt
如果你的项目有setup.py,你也可以执行
pip install -e path/to/your/project/clone/.
将项目安装到 virtualenv 中。这应该安装依赖项。
当然,如果唯一的依赖是Django,你可以输入
pip install django
我猜你也从你的另一台电脑上传了虚拟环境。你希望只有激活它才能起作用,bzz。
不建议将 virtualenv 文件上传到您的 git 存储库,因为@Alain 说最好有一个包含项目依赖项的 requirements.txt
文件。可以使用pip freeze > requirements.txt
(环境激活时)生成项目需求文件。
这样做,当您从另一台计算机克隆存储库时,您需要通过发出命令来创建一个新的 virtualenv:
virtualenv nameofenv
然后激活它:
source nameofenv/bin/activate
最后,使用需求文件为您的项目安装需求:
pip install -r requirements.txt
如果你的机器上有多个python
,例如python2.7
、python3.4
、python3.6
,弄清楚[=是哪个版本是很重要的12=] 确实参考了 pip
参考了哪个版本。
安装 let's encrypt
后,当我 运行 以下命令时,我遇到了同样的问题。
(python3 manage.py runserver 0:8000 &)
我检查了python
版本,发现python3
、python3.4
、python3.6
、python3.4m
都可用。
我把python3
改成python3.6
就解决了问题
(python3.6 manage.py runserver 0:8000 &)
所以,这可能是版本不匹配的问题,如果用了很长时间,突然崩溃了。
我通过 pip3 install Django
安装了 Django 2,但我是 运行 python manage.py runserver
而不是 python3 manage.py runserver
。 Django 2 仅适用于 python 3+.