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版本创建工程
7 回复

环境变量


这个问题其实挺常见的,很多人机器上同时有Python 2和Python 3,或者多个Python 3版本。

首先得搞清楚你的pippip3到底指向哪个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

总结一下:别依赖pippip3命令,直接用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
点我头像,看简介,可以加群沟通,这样效率比较高

回到顶部