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


测试环境:

操作系统: 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 命令

实操演示:
在这里插入图片描述

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

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

测试思路:在 virtualenv 虚拟环境的 Scripts 目录下, activate 激活虚拟环境,pip list 查看虚拟环境安装模块(包),结果为初始化环境所能拥有的模块(包) —— 很少,只有两个
在退出 virtualenv 虚拟环境,依旧是使用 virtualenv 虚拟环境的 pip 指令,回到目录的上一级,pip list 后就开始使用 本机的 python 环境内置的 pip 指令 —— pip list,而不是使用 virtualenv 虚拟环境的 python 运行环境了 —— 简单讲,就是不是用 virtualenv 虚拟环境的 python 库了,而是本地环境的 python 库
在这里插入图片描述

即使是激活了 virtualenv 虚拟环境,回到上一级目录,仍旧会使用本机 python 运行环境内的 pip 指令 —— pip list
在这里插入图片描述

3. virtualenv 虚拟环境 个人总结

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

在这里插入图片描述
解决该 bug 的链接:
python虚拟环境启动后依然使用全局pip的解决方法

bug补充说明:

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

补充说明 最优选择(推荐)

前面提到的是,笔者初次研究时的记录,现在笔者比较推荐 anaconda3 ,而不是 virtualenv

最好的办法是使用 anaconda3 来创建 python 虚拟环境,(anaconda3virtualenv 的集成,anaconda3安装目录内的 envs 目录就是各种自己创建的 virtualenv 虚拟环境,而且还能切换 64 位 和 32 位的 python,具体可以搜下,anaconda3 切换 64位或32位环境,只能说会玩的溜得飞起。)

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值