系列文章目录
[Python]目录
文章目录
- 前言
- 1. virtualenv
- 2. python自带的 venv
- 3. virtualenvwrapper
- 4. 虚拟环境中安装Django
- 5. 命令行创建Django项目
pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple

选择合适的目录创建虚拟环境:
方式一:创建虚拟环境时指定python的版本
virtualenv -p 指定版本python的python.exe所在的路径 虚拟环境名字
virtualenv -p D:\python3.9.7\python.exe test_env01

方式二:创建虚拟环境时使用系统环境变量中配置的python版本
virtualenv 虚拟环境名字
virtualenv test_env02

激活并进入使用 virtualenv 创建的虚拟环境需要到虚拟环境目录中的Scripts目录下运行activate命令激活进入虚拟环境。
激活进入使用指定版本python创建的虚拟环境:
cd test_env01\Scripts
activate

查看虚拟环境中的python版本和安装的第三方包:
python -V
pip list

激活并进入使用系统环境变量中配置的python版本创建的虚拟环境:
cd test_env02\Scripts
activate

查看虚拟环境中的python版本和安装的第三方包:
python -V
pip list

退出使用 virtualenv 创建的虚拟环境需要到虚拟环境目录中的Scripts目录下运行deactivate.bat文件退出虚拟环境。
decativate.bat

直接删除虚拟环境对应的文件夹即可。
Python3.4以上的版本可以直接使用自带的venv创建虚拟环境,不需要额外安装virtualenv包
选择合适的目录创建虚拟环境:
方式一:使用指定python版本创建虚拟环境
指定python版本的python.exe路径 -m venv 虚拟环境名
D:\python3.9.7\python.exe -m venv test_env03

方式二:使用系统环境变量中配置的python版本创建虚拟环境
python -m venv 虚拟环境名
python -m venv test_env04

激活并进入使用python自带的 venv 创建的虚拟环境需要到虚拟环境目录中的Scripts目录下运行activate命令激活进入虚拟环境。
激活进入使用指定版本python创建的虚拟环境:
cd test_env03\Scripts
activate

查看虚拟环境中的python版本和安装的第三方包:
python -V
pip list

激活并进入使用系统环境变量中配置的python版本创建的虚拟环境:
cd test_env04\Scripts
activate

查看虚拟环境中的python版本和安装的第三方包:
python -V
pip list

退出使用python自带的 venv 创建的虚拟环境需要到虚拟环境目录中的Scripts目录下运行deactivate.bat文件退出虚拟环境。
decativate.bat

直接删除虚拟环境对应的文件夹即可。
使用 virtualenvwrapper 可以对虚拟环境进行统一管理,但是只能统一管理 virtualenvwrapper 创建的虚拟环境,使用 virtualenvwrapper 可以在任意位置查看现有的所有虚拟环境,可以在任意位置进入指定的虚拟环境。
pip install virtualenvwrapper -i https://pypi.tuna.tsinghua.edu.cn/simple

| 命令 | 用法 |
|---|---|
| workon | 打印所有的virtualenvwrapper创建的虚拟环境 |
| workon 虚拟环境名 | 进入指定的虚拟环境 |
| deactivate | 退出当前虚拟环境 |
| mkvirtualenv 虚拟环境名 | 创建虚拟环境 |
| rmvirtualenv 虚拟环境名 | 删除指定的虚拟环境 |
| lsvirtualenv | 列出所有的虚拟环境 |
| cdvirtualenv | 进入到当前虚拟环境的目录 |
| cdsitepackages | 进入当前虚拟环境的site-packages目录中 |
| lssitepackages | 查看当前虚拟环境site-packages目录中的内容 |
方式一:创建虚拟环境时指定python的版本
mkvirtualenv -p 指定python版本的python.exe路径 虚拟环境名
mkvirtualenv -p D:\python3.10.0\python.exe test_env05
使用 virtualenvwrapper 创建虚拟环境后,会自动进入新创建的虚拟环境。

方式二:创建虚拟环境时使用系统环境变量中配置的python版本
mkvirtualenv 虚拟环境名
mkvirtualenv test_env06

使用 virtualenvwrapper 创建的虚拟环境默认的存放路径为 C:\Users\ Windows用户名 \Envs。

virtualenvwrapper 只能统一管理查看 virtualenvwrapper 创建的虚拟环境。


workon 虚拟环境名
进入使用指定版本python创建的虚拟环境:
workon test_env05

查看虚拟环境中的python版本和安装的第三方包:
python -V
pip list

进入使用系统环境变量中配置的python版本创建的虚拟环境:
workon test_env06

查看虚拟环境中的python版本和安装的第三方包:
python -V
pip list

cdvirtualenv

cdsitepackages

lssitepackages

deactivate

rmvirtualenv 虚拟环境名
rmvirtualenv test_env06

virtualenvwrapper 创建的虚拟环境默认存放在C:\Users\用户名\envs目录下。
我的电脑(计算机)右键 =》 属性 =》高级系统设置 =》 环境变量 =》新建系统变量







要让 virtualenvwrapper 能够管理所有的虚拟环境,需要将所有的虚拟环境目录剪切粘贴到 virtualenvwrapper 虚拟环境的存放目录中。


进入用于创建django项目的虚拟环境

在该虚拟环境中安装Django:
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

在当前虚拟环境安装的第三方包不会对其他虚拟环境造成影响,即每个虚拟环境相互独立互不影响。

创建Django项目的命令:
django-admin startproject 项目名
在虚拟环境 test_env05 对应的目录下新建Django项目:
新建Django项目的项目存放目录也可自行选择,创建Django项目时处于虚拟环境下即可。



python manage.py help命令进行查看。__init__.py:python包的初始化文件创建子应用的命令:
python manage.py startapp 子应用名
在项目的根目录下创建子应用:



__init__.py:python包的初始化文件








如果没有自动识别并配置可以手动为打开的django项目配置虚拟环境:











python manage.py runserver [指定项目运行时的端口号]
python manage.py runserver 8888

浏览器访问 http://127.0.0.1:8888/

如果没指定项目运行时的端口号,则项目默认运行的端口号为8000
python manage.py runserver

浏览器访问 http://127.0.0.1:8000/

项目的子应用在项目的全局配置文件中进行注册:

在项目的全局配置文件中找到注册子应用的配置项:

在注册子应用的配置项中的最后添加子应用名:
直接写子应用名,会自动寻找子应用目录下apps.py文件中的“子应用名Config”类型
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'子应用名',
]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'subapp01', # 注册子应用 subapp01
]
注册子应用时,采用完整的写法:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'子应用名.apps.子应用名Config'
]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'subapp01.apps.Subapp01Config', # 注册子应用 subapp01
]