Windows 10 - Python 的虚拟环境 Virtualenv - 全局 python 环境切换问题

目录

  • 1. 虚拟环境
  • 2. 解决全局 python 环境切换的 bug
    • virtualenv 虚拟环境与本地 python 环境的测试
  • 3. virtualenv 虚拟环境 个人总结
  • bug补充说明:

测试环境:

操作系统: Window 10
工具:Pycharm
Python: 3.7

1. 虚拟环境

Python 的虚拟环境有三个方案选择

virtualenv
conda
Pipenv 不要用 Pipenv -知乎劝退链接

condavirtualenv 差不多,但我个人觉得比较好用的是 virtualenv ,这是一个虚拟环境文件夹,可以直接用来打包之类的,转移项目也方便很多。

Windows 命令行创建 Python 虚拟环境 virtualenv 的指令:

python -m venv 你的项目简称名/你创建的虚拟环境名

使用虚拟环境 virtualenv 的方法:

命令行 cd 虚拟环境\Scripts 目录下,输入命令 activate ,就可以激活虚拟环境,接下来就不可以离开这里的 Scripts 目录了,不然后面你使用 pip 命令,或者 python 命令,都是本地的 python 环境的命令 ,而不是你创建的 virtualenv 虚拟环境的 python 环境,要特别注意这一点

激活 virtualenv 虚拟环境

activate

退出 virtualenv 虚拟环境

deactivate

dir 命令是 Windows操作系统的命令,类似 Linux 操作系统的 ls 命令

实操演示:
Windows 10 - Python 的虚拟环境 Virtualenv - 全局 python 环境切换问题_第1张图片

2. 解决全局 python 环境切换的 bug

virtualenv 虚拟环境与本地 python 环境的测试

测试思路:在 virtualenv 虚拟环境的 Scripts 目录下, activate 激活虚拟环境,pip list 查看虚拟环境安装模块(包),结果为初始化环境所能拥有的模块(包) —— 很少,只有两个
在退出 virtualenv 虚拟环境,依旧是使用 virtualenv 虚拟环境的 pip 指令,回到目录的上一级,pip list 后就开始使用 本机的 python 环境内置的 pip 指令 —— pip list,而不是使用 virtualenv 虚拟环境的 python 运行环境了 —— 简单讲,就是不是用 virtualenv 虚拟环境的 python 库了,而是本地环境的 python 库
Windows 10 - Python 的虚拟环境 Virtualenv - 全局 python 环境切换问题_第2张图片

即使是激活了 virtualenv 虚拟环境,回到上一级目录,仍旧会使用本机 python 运行环境内的 pip 指令 —— pip list
Windows 10 - Python 的虚拟环境 Virtualenv - 全局 python 环境切换问题_第3张图片

3. virtualenv 虚拟环境 个人总结

在这里,别被 actiavte 指令迷惑了,在这种 bug 下,这个指令不会帮你将下来的各种虚拟环境内 python 指令,而是指向全局的 python 运行环境内的各种 python 指令。其实就是在说这个 activate 会误导人,想要用 virtualenv 虚拟环境内的 python 环境,那么就得到该 virtualenv 虚拟环境下的 Scripts 目录内,也就是命令终端 cd 到该 Scripts 目录,如果你去看过创建好的 virtualenv 虚拟环境文件 Scripts 目录内文件内容,就应该知道,那其实就是一个 python 的运行环境

Windows 10 - Python 的虚拟环境 Virtualenv - 全局 python 环境切换问题_第4张图片
解决该 bug 的链接:
python虚拟环境启动后依然使用全局pip的解决方法

bug补充说明:

说实话,这个方法链接,是有时灵有时不灵的,在 Windows 10 环境下,Virtualenv虚拟环境问题还是挺奇怪的,我比较倾向于使用Virtualenv虚拟环境安装所需要的各种包,然后用Pycharm 开发工具来使用虚拟环境内的python解释器,这样比较方便,要不然用 Pycharm自带的Flask框架很多问题,反正挺坑的,用Django的差不多,最好是自己手动弄一个虚拟环境出来,安装好框架模块,然后再用虚拟环境内的解释器,而不是直接用Pycharm自带的框架。

最好的办法是使用 anaconda3 来创建 python 虚拟环境,(anaconda3 是 virtualenv 的集成,里面的 envs 就是各种自己创建的 virtualenv ,还能切换 64 位 和 32 位的 python,只能说会玩的溜得飞起。)

Pycharm 更改python解释器的方法网上一大堆,一搜索就有。

你可能感兴趣的:(虚拟环境,python,virtualenv,开发语言,django,flask)