python多版本与虚拟环境
为什么会用到多个Python版本?
用macOS和Ubutntu的同学都知道系统默认安装的Python2.7.x,然后,我们平时python开发用的python3,所以,需要额外安装一个Python3.x的版本。
之前,我想是使用robotframework-ride但它只支持python3.7,于是,我安装python3.7。(注:现在已经支持3.8了)
前几天,我想学习一下tinygrad,他支持python3.8,于是,我又装了3.8。
python多版本管理
使用Where查找安装的python、python3路径。
macOS终端:
❯wherepython
/usr/bin/python#2.7.16
❯wherepython3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3#3.7.9
/usr/local/bin/python3#3.7.9
/usr/bin/python3#3.7.3
windows命令提示符
❯wherepython
C:\Python37\python.exe
C:\Python38\python.exe
C:\Users\fnngj\AppData\Local\Microsoft\WindowsApps\python.exe
为不同的python改名字。
比如,C:\Python38\python.exe文件拷贝改名为C:\Python38\py8.exe,那我就可以愉快的使用py8这个命令了。
❯py8
Python3.8.6(tags/v3.8.6:db45529,Sep232020,15:52:53)[MSCv.192764bit(AMD64)]onwin32
Type"help","copyright","credits"or"license"formoreinformation.
>>>
为不同的python安装库。
每个python版本下面都有pip,我们在使用pip的安装库的时候,经常不知道他安装在哪个python下面了。
❯py8-mpipinstallselenium
❯py8-mpipshowselenium
...
Location:c:\python38\lib\site-packages
...
带上python-m的前缀,这样永远不会装错。
为什么会用虚拟环境?
作为一个使用python开发过大型项目的同学,一定会碰到python库的版本依赖。
例如直接依赖:
A项目:使用django2.2
B项目:使用django3.1
还有复杂的间接依赖:
A项目:使用A框架——>依赖requests1.10
B项目:使用B库——>依赖requests2.x
而你又需要同时开发A、B两个项目,总不能在运行不同的项目的时候,就把不同项目的依赖库装一遍吧!
虚拟环境管理
python的虚拟环境管理工具挺多的,virtualenv、virtualenvwrapper、pipenv,pyenv。其实明白了原理这些工具都不复杂,这里以pipenv为例。
安装pipenv
❯pipinstallpipenv
创建虚拟环境
进入到项目目录,创建虚拟环境。
❯cdmypro#进入项目目录
❯pipenv--pythonpy8#指定基于哪个python版本创建虚拟环境。
Creatingavirtualenvforthisproject...
Pipfile:D:\github\mypro\Pipfile
UsingC:/Python38/py8.exe(3.8.6)tocreatevirtualenv...
...
Successfullycreatedvirtualenvironment!
Virtualenvlocation:C:\Users\fnngj\.virtualenvs\mypro-D2Xyk8c9
安装依赖
这一步从Pipfile.loc中安装依赖。
❯pipenvinstall
InstallingdependenciesfromPipfile.lock(db4242)...
================================0/0-00:00:00
Toactivatethisproject'svirtualenv,runpipenvshell.
Alternatively,runacommandinsidethevirtualenvwithpipenvrun.
进入虚拟环境
❯pipenvshell
Launchingsubshellinvirtualenvironment...
5.可以在虚拟环境里面安装你想要的应用了。
v3.8.6((mypro))❯pipinstallxxx
6.退出虚拟环境
v3.8.6((mypro))❯exit;
7.删除虚拟环境
❯pipenv--rm
注:其实这两个管理在pycharm集成的就有,可是上来就完全依赖pycharm开发python的同学很难搞清楚。那么,本文也有助于你更好的使用pycharm。
以上内容为大家介绍了python多版本与虚拟环境,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
猜你喜欢LIKE
相关推荐HOT
python gensim库是什么?
pythongensim库是什么?gensim库在文本监控里,首先在稳定上,坚如磐石,不用担心稳定性问题,其次,时效性很强,执行能力很快,经常在最重要的...详情>>
2023-11-06 21:48:19python中getattr()是什么?
python中getattr()是什么?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、getattr()用来获取对象中的属性值;获取对象object的属...详情>>
2023-11-06 21:41:07python标识符如何使用?
python标识符如何使用?为了给编程中函数、类等进行区分,会赋予它们不同的名称。我们把这种命名叫做标识符,也可以理解为符号的标记。当然这种...详情>>
2023-11-06 21:33:55Python IDE之Thonny的介绍
pythonIDE之Thonny的介绍今天要介绍的IDE,可能没用过,甚至可能没听说过。叫Thonny,是塔尔图大学开发的,适合程序员新手。它的界面很容易使用...详情>>
2023-11-06 20:54:19热门推荐
如何使用python中的help函数?
沸如何使用python的callable函数?
热python gensim库是什么?
热python中xluntils库是什么?
新python中getattr()是什么?
python中的win32com库是什么?
python标识符如何使用?
如何使用python中schedule模块?
python中ruamel.yaml模块是什么?
defaultdict在python中计算键值的和
python sleep和wait对比分析
python中字符串转成数字的几种方法
python中SocketServer是什么?
python中如何使用@contextmanage?