Python中pip和pip3同时安装Django时如何指定Python版本创建工程
Python2.7 用 pip 安装了 Django,Python3.5 用 pip3 安装了 Django ,然后建工程
django-admin startproject mysite
比如我想同时建一个 2.7 的工程和 3.5 的工程。怎么指定 Python 版本啊。
Python中pip和pip3同时安装Django时如何指定Python版本创建工程
环境变量
这个问题其实挺常见的,很多人机器上同时有Python 2和Python 3,或者多个Python 3版本。
首先得搞清楚你的pip和pip3到底指向哪个Python。打开终端,分别运行这两个命令看看:
pip --version
pip3 --version
输出会显示类似pip 21.3.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)的信息,关键看最后的(python x.x),这就是这个pip命令绑定的Python版本。
最直接的方法:用特定Python解释器直接运行pip模块
别管pip还是pip3命令了,最靠谱的是直接用你想用的那个Python解释器去调用pip。假设你想用python3.9来安装Django并创建工程:
# 1. 用python3.9的pip安装Django
python3.9 -m pip install django
# 2. 用python3.9的django-admin创建项目
python3.9 -m django startproject myproject
如果已经用pip/pip3装乱了怎么办?
如果发现Django装到了不想用的Python版本下,可以先卸载,再用上面的方法重装:
# 从python3.9的环境卸载(如果装错了地方)
python3.9 -m pip uninstall django
# 从pip3指向的环境卸载(如果装错了地方)
pip3 uninstall django
一劳永逸的建议:用虚拟环境
这才是治本的方法。为每个项目创建独立的虚拟环境,完全隔离依赖。
# 用python3.9创建虚拟环境
python3.9 -m venv myenv
# 激活虚拟环境
# Linux/Mac:
source myenv/bin/activate
# Windows:
myenv\Scripts\activate
# 然后在虚拟环境里安装Django,想用哪个版本都行
pip install django==4.0 # 安装特定版本
django-admin startproject myproject
总结一下:别依赖pip或pip3命令,直接用pythonX.Y -m pip这种形式最准确。
恐怕 pyvenv 或 virtualenv 才是解决之道哦
virtualenv 应该是一个 prework 了.
建议用 pyenv 来管理多个版本的 python 环境
看了一下 django-admin 文件的源码, django-admin 文件在 python2 和 python3 下都能跑,所以能这么做:
python2 $(which django-admin)
python3 $(which django-admin)
当然,还是维护多个项目,还是推荐使用 virtualenv 。
看一下 https://www.u3v3.com/ar/1256
点我头像,看简介,可以加群沟通,这样效率比较高

