python多版本与虚拟环境

来源:千锋教育
发布时间:2023-11-06 12:17:17
分享

为什么会用到多个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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python中的文件管理 文件管理是很多应用程序的基本功能和重要组成部分。Python可以使文件管理极其简单,特别是和其它语言相对比。以下,PeytonMcCullough讲解了文件管理基础。介绍你玩过的游戏使用文件来保存存档
  • Python的函数式编程与闭包 函数式编程      函数式编程这个概念我们可能或多或少都听说过,刚听说的时候不明觉厉,觉得这是一个非常黑科技的概念。但是实际上它的含义很朴
  • Python的内存管理机制 Python的内存管理机制对于工程师而言,内存管理机制非常重要,是绕不过去的一环。如果你是Java工程师,面试的时候一定会问JVM。C++工程师也一定会问内存泄漏,同样我们想要深入学习Python,内
  • Python 多线程死锁问题的巧妙解决方法 死锁死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待。比如A线程持有1号锁,等待2号锁,B线程持有
  • Python在自动化测试系统中的应用 自动化测试系统在敏捷开发、持续集成和持续交付中起着非常重要的作用。它对加快新功能发布,缩短现场问题解决时间,提升用户感受度,乃至提高企业竞争力都至关重要。本文结合笔者在自动化测试系统建设中的实践,具体
  • Python导入模块时的过程 python的import是在程序运行期间执行的,并非像其它很多语言一样是在编译期间执行。也就是说,import可以出现在任何地方,只有执行到这个import行时,才会执行导入操作。且在import某