pycharm利用pipenv创建低版本或者指定版本django项目


背景说明:

Django到目前,版本已经出到了3.1,但是此时,大多数还在使用2.x,甚至还有1.x版本的。

我想使用目前稳定长期支持的2.x系列,但是我用pycharm创建django项目时,它老是给我安装最新的3.1版本,虽然可以在界面上卸载并安装我指定的版本,但是已经生成的django项目文件是3.1版本生成出来的,文件部分内容已经跟低版本创建出来的有不同,保守起见,我还是想用2.x版本创建出我熟悉的项目文件,那么就得自己先准备好环境(指定好2.x版本的django),然后再用pycharm去open这个项目,调整一下配置即可。

 

解决方法:

方法1. 在本地环境中先装好2.x版本的django,然后pycharm新建项目的时候选择本地环境,pycharm检测到本地有django,就不会去下载最新的版本了;

方法2. 准备好虚拟环境,在虚拟环境中安装好2.x版本的django,并在虚拟环境中手动创建好project或者包括app,然后在用pycharm打开这个项目,并在界面上选择一下环境,就完事了;

说明:方法1比较简单,这里记录一下方法2的操作流程

 

操作环境:

MacOS  【跟Linux下的命令行几乎一样;Windows 使用终端运行,也差不多】

 

具体步骤:

1. 要创建虚拟环境,那么就要安装能够创建虚拟环境的工具,这里采用pipenv

pip3 install pipenv

 

2. 找一个目录创建一个工程文件夹project1

/Users/adrian/Documents/django
adrian@xxxMacBook-Pro django % ls -l
adrian@xxxMacBook-Pro django % mkdir project1

 

3. 进project1目录创建虚拟环境

adrian@xxxMacBook-Pro django % cd project1
adrian@xxxMacBook-Pro project1 % pipenv install
Creating a virtualenv for this project…
Pipfile: /Users/adrian/Documents/django/project1/Pipfile
Using /usr/local/bin/python3 (3.8.5) to create virtualenv…
⠴ Creating virtual environment...created virtual environment CPython3.8.5.final.0-64 in 288ms
  creator CPython3Posix(dest=/Users/adrian/.local/share/virtualenvs/project1-2AECiQAe, clear=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/adrian/Library/Application Support/virtualenv)
    added seed packages: pip==20.2.1, setuptools==49.2.1, wheel==0.34.2
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment!
Virtualenv location: /Users/adrian/.local/share/virtualenvs/project1-2AECiQAe
Creating a Pipfile for this project…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (db4242)!
Installing dependencies from Pipfile.lock (db4242)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

 

3. 激活这个虚拟环境并在里面安装django 2.x版本

adrian@xxxMacBook-Pro project1 % pipenv shell
Launching subshell in virtual environment…
 . /Users/adrian/.local/share/virtualenvs/project1-2AECiQAe/bin/activate
adrian@xxxMacBook-Pro project1 %  . /Users/adrian/.local/share/virtualenvs/project1-2AECiQAe/bin/activate
(project1) adrian@xxxMacBook-Pro project1 % pip3 list
Package    Version
---------- -------
pip        20.2.1     //此时该虚拟环境没有django
setuptools 49.2.1
wheel      0.34.2 (project1) adrian@xxxMacBook-Pro project1 % pip3 install django==2.2.15
Collecting django==2.2.15
  Using cached Django-2.2.15-py3-none-any.whl (7.5 MB)     //我之前装过,有缓存,直接二次利用了
Collecting pytz
  Using cached pytz-2020.1-py2.py3-none-any.whl (510 kB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Installing collected packages: pytz, sqlparse, django
Successfully installed django-2.2.15 pytz-2020.1 sqlparse-0.3.1 (project1) adrian@xxxMacBook-Pro project1 % pip3 list
Package    Version
---------- -------
Django     2.2.15    // 再次查看,显示了安装好的版本
pip        20.2.1
pytz       2020.1
setuptools 49.2.1
sqlparse   0.3.1
wheel      0.34.2 (project1) adrian@xxxMacBook-Pro project1 % exit
adrian@xxxMacBook-Pro project1 %

 

4. 创建django项目

adrian@xxxMacBook-Pro project1 % pipenv run django-admin startproject blogproject

 

5. 创建应用

adrian@xxxMacBook-Pro project1 % cd blogproject
adrian@xxxMacBook-Pro blogproject % ls -l
total 8
drwxr-xr-x  6 adrian  staff  192  8 11 13:14 blogproject
-rwxr-xr-x  1 adrian  staff  631  8 11 13:14 manage.py
adrian@xxxMacBook-Pro blogproject % pipenv run python3 manage.py startapp blog
adrian@xxxMacBook-Pro blogproject % ls -l
total 8
drwxr-xr-x  9 adrian  staff  288  8 11 13:18 blog     // 应用创建好了
drwxr-xr-x  6 adrian  staff  192  8 11 13:14 blogproject
-rwxr-xr-x  1 adrian  staff  631  8 11 13:14 manage.py

 

6. 查看文件结构

adrian@xxxMacBook-Pro blogproject % tree
.
├── blog
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── blogproject
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

 

7. 用pycharm打开该django项目

 

 

8. 添加解释器(点击右侧齿轮按钮添加)

 

 

9. 找到对应的解释器后,系统自动加载出虚拟环境中的包及其版本号

 

 接下来就可以愉快的使用pycharm完善django项目了...

 

结束


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM