在windows 10 系统下安装python的虚拟环境
因为最近学习django,需要安装python的虚拟环境。
虽然pycharm内置了python的虚拟环境,但是不是所有时候都有pycharm,所以就想在Windows系统安装python的虚拟环境。
安装python虚拟环境所需要的库
# 首先需要安装三个库
pip install virtualenv
pip install virtualenv-clone
# virtualenvwrapper # linux 下要装这个
pip install virtualenvwrapper-win # Windows下则是这个,我两个都装了
装完上面的python的库之后,还需要在Windows下配置以下环境变量
这里需要注意的一点就是:环境变量需要新建一个,环境变量的路径随意,容易知道在哪就好,因为创建的虚拟环境都会放在这个文件夹地下,而且进入虚拟环境需要在当前文件夹里面(这个后面会细说)(这里的说法有点问题,其实不完全需要在环境的文件夹里,用cmd可以在任何地方进入python的虚拟环境,而powershell则需要进入虚拟环境文件夹里进入,但是如果不是刚刚创建的虚拟环境powershell还进不去,个人建议还是用cmd好了。)
这里需要纠正的一点就是,创建后的虚拟环境不一定会放在配置的文件夹中,虚拟环境保存的文件夹完全取决于你在哪个文件夹创建虚拟环境,如果我直接打开cmd创建虚拟环境,就会在当前用户的文件夹中创建虚拟环境了。这点还是需要注意的,如果想要规定位置存放虚拟环境,还是需要进入到特定的文件夹中创建虚拟环境,(Linux好像没有这个问题)。
尝试创建虚拟环境
上面已经把环境准备好了,那么现在就来创建python的虚拟环境把
python虚拟环境的命令:
在cmd下面执行以下命令
workon # 查看当前已有的虚拟环境,因为我之前已经创建过了,所以会有显示
C:\Users\Administrator>workon
Pass a name to activate one of the following virtualenvs:
==============================================================================
directory
pythonenv
# 按照上面的提示(Pass a name to activate one of the following virtualenvs:)使用workon进入虚拟环境
C:\Users\Administrator>workon pythonenv
(pythonenv) C:\Users\Administrator> # 现在已经进入虚拟环境了,前面的(pythonenv)就表示是在虚拟环境里面了。
C:\Users\Administrator>workon pythonenv
(pythonenv) C:\Users\Administrator>pip list
Package Version
---------- -------
pip 19.2.1
setuptools 41.0.1
wheel 0.33.4
## 使用deactivate退出虚拟环境
(pythonenv) C:\Users\Administrator>deactivate
C:\Users\Administrator>
下面我们来说一下powershell的坑点(我遇到的坑点)
我进入到已经创建好的虚拟环境的文件夹内
那么我们现在需要在powershell中进入我之前创建的虚拟环境
在powershell中不能使用workon命令进入虚拟环境,需要在scripts文件夹里面运行activate文件才能进入
运行activate文件之后,会报错。
百度了一下之后,发现还需要再执行以下这个命令Set-ExecutionPolicy RemoteSigned
这个命令需要在powershell的管理员下执行
输入Y
,回车,关闭就可以了。
关闭原来的powershell,重新打开一个,输入activate,运行,报错。emmm
我怀疑我在执行Set-ExecutionPolicy RemoteSigned
时候不对,重新来了一遍 ,还是不行。cmd可以进去的。
然后去网上找解决办法了。。。找到这个,跟我的错误一模一样。
在楼下找到了回答,几个人的回答都是一样的
我试了一下
卧槽,感谢这位老哥。
powershell也太坑了吧。cmd好用很多。。。
别高兴太早了,当你关闭了这个powershell之后,重新打开,想要重新进入原来操作的虚拟环境,发现使用activate还是不行。我。。。
我按照上面的步骤重新操作了一遍
最后发现,而且还是需要使用.\activate
才能进入,单纯的activate
是进不去的。。
每次都要这么来好麻烦,还是用cmd好了
powershell会出现这个问题可能是我没有配置啥东西,但是目前能从网上找到的解决办法也就只有这些了。
如果有更好的解决办法欢迎联系我,非常感谢。