powershell python_轻松搞定Python虚拟环境

随着项目的复杂度和规模的扩展,不同的库/包很容易引起冲突,而利用Python 2和Python 3中的虚拟环境来管理Python项目,可以有效地处理相关的冲突。

5aff8a14eb65c15b3a916891677cfa3b.png

0.导引

在Python受到开发人员欢迎的所有原因中,最大的原因之一是它对第三方包的广泛和不断扩展的选择。从数据提取和格式化到高速数学和机器学习,各种方便的工具包只需导入或pip安装即可。

但是,当这些方案互不友好时,会发生什么呢?当不同的Python项目需要相同外接程序的竞争版本或不兼容版本时,您该怎么办?这就是Python虚拟环境发挥作用的地方。

您可以在python2和python3中创建和使用虚拟环境,尽管两者实现的工具不同。Virtualenv是python2的首选工具,而venv则在python3中处理这个任务的工具。

1.何为Python虚拟环境

虚拟环境是一种拥有多个并行的Python解释器实例的方法,每个实例都有不同的包集和不同的配置。每个虚拟环境都包含Python解释器的一个独立副本,包括其支持的实用程序的副本。

每个虚拟环境中安装的包只能在该虚拟环境中看到,而不能在其他环境中看到。即使是带有平台依赖二进制文件的大型复杂包,也可以在虚拟环境中相互隔离。

虚拟环境有几个常见的使用场景:

  • 正在开发依赖于相同包的不同版本的多个项目,或者由于名称空间冲突而必须与某些包隔离的项目。这是最标准的用例。
  • 所处的Python环境中不能修改站点包目录。这可能是因为工作在一个高度受控的环境中,例如托管,或者在服务器上,由于生产需求,解释器(或其中使用的包)的选择不能更改。
  • 希望在高度受控的环境下使用特定的包组合进行试验,例如测试交叉兼容性或向后兼容性。
  • 希望在没有第三方包的系统上运行Python解释器的“基准”版本,并且只根据需要为每个单独的项目安装第三方包。

没有人说不能简单地将Python库解压缩到项目的子文件夹中并以此方式使用它。同样,您可以下载Python解释器的一个独立副本,将其解压缩到一个文件夹中,并使用它运行专用于它的脚本和包。

但是管理这些拼凑在一起的项目很快就变得困难了。只是一开始看起来更容易。使用具有二进制组件或依赖于复杂的第三方依赖关系的包可能是一场噩梦。最好的长期解决方案是使用Python的原生机制来创建和使用虚拟环境。

2.Python 3中的虚拟环境

Virtualenv已经被证明是无数Python开发人员不可或缺的一部分,但它并不是Python标准库的一部分。Python 3有用于虚拟环境的本机工具,这使得整个过程非常简单。

9064dfda8ab2c29c774c0c581f749d5c.png

2.1创建虚拟环境

要在给定目录中创建虚拟环境,在终端命令行中输入:

python3 -m venv /path/to/directory

(注意,如果您的系统识别python为默认的python3解释器,那么您可以使用python而不是python3。)

设置虚拟环境的整个过程可能需要一到两分钟。当它完成时,您应该有一个包含几个子目录的目录。最重要的子目录是Unix上的bin或Windows上的Scripts,在这里您可以找到用于虚拟环境的Python解释器及其实用程序的副本。

请注意,因为每个虚拟环境都包含自己的Python解释器副本,所以它可能相当大。在Windows和Linux上,Python 3.6虚拟环境将消耗大约23 MB的磁盘空间。

2.2激活虚拟环境

在使用这个虚拟环境之前,需要显式地激活它。激活使虚拟环境在会话期间成为默认的Python解释器。

根据所使用的操作系统和命令shell,需要使用不同的语法来激活虚拟环境。这里介绍如下:

  • 在 Unix或MacOS上, 使用bash shell: source /path/to/venv/bin/activate
  • 在 Unix或MacOS上, 使用csh shell: source /path/to/venv/bin/activate.csh
  • 在 Unix或MacOS上, 使用fish shell: source /path/to/venv/bin/activate.fish
  • 在Windows上,使用命令提示符(命令行窗口): pathovenvScriptsactivate.bat
  • 在Windows 使用PowerShell: pathovenvScriptsActivate.ps1

请注意,激活的环境仅适用于它被激活的上下文。例如,如果您启动了PowerShell的两个实例A和B,并且只激活实例A中的虚拟环境,那么该环境将只应用于A。它不会应用于其他任何地方。

2.3配置和使用虚拟环境

一旦激活了新的虚拟环境,就可以使用pip包管理器为其添加和更改包。在Windows上,pip位于虚拟环境的Scripts子目录中,在Unix操作系统上,pip位于bin子目录中。

如果你已经熟悉了pip的工作方式,就可以了。在虚拟环境中也是一样的。只要确保您使用的是pip实例,它在它被激活的上下文中管理虚拟环境的包——例如 bash会话或Windows CLI/PowerShell会话。如果希望验证是否使用了正确的pip和正确的虚拟环境,则键入pip -V,然后查看它显示的路径是否指向虚拟环境的一个子目录。

要使用您创建的虚拟环境来运行Python脚本,只需在激活Python的上下文中从命令行调用它。

2.4停用虚拟环境

当使用完虚拟环境后,您可以终止正在使用它的会话。如果希望继续在该环境中工作,但使用默认的Python解释器,可以在提示符处键入deactivate。在命令提示符下的Windows用户需要从脚本子目录中运行deactivate.bat,但是Unix用户和运行PowerShell的Windows用户可以在任何目录中简单地输入deactivate.bat。

2.5删除虚拟环境

虚拟环境是自包含的,与项目之外无所关系。当不再需要虚拟环境时,可以删除它的目录。

3.Python 2的虚拟环境

在Python 2中,虚拟环境不是该语言的原生特性。相反,您需要安装第三方库来创建和管理虚拟环境。

这些项目中最流行、最广泛使用的是virtualenv,它负责创建目录结构并将所需的文件复制到虚拟环境中。要安装virtualenv,只需使用pip install virtualenv。要用它创建一个虚拟环境目录,输入virtualenv /path/to/directory 即可。激活和停用虚拟环境的工作方式与Python 3中的虚拟环境相同(见上文)。

4.Jupyter notebook中使用虚拟环境

如果您正在使用Jupyter notebooks(即IPython笔记本),并且已经在系统范围内安装了Jupyter,那么可以创建虚拟环境并激活它。然后,从虚拟环境目录运行pip install ipykernel,为IPython添加所需的组件。最后,运行ipython kernel install —user —name=,其中project_name是希望与特定项目关联的名称。从那里,应该就能够启动Jupyter并切换到安装在虚拟环境中的IPython内核了。

aa9cc65b832674ebc066c27ee52e3f7a.png

5.小结

本文主要介绍了为了避免Python项目可能的冲突,如何通过虚拟环境来实现。这是初学Python应该都要面对的问题。按照本文所述,你就可以轻松搞定Python的虚拟环境了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PowerShell是一种用于自动化任务和管理操作系统的脚本语言和命令行工具。它在Windows操作系统广泛使用,并具有强大的管理功能。而Python是一种高级编程语言,被广泛用于各种领域的应用开发。 PowershellPython可以在Windows操作系统上一起使用,通过安装Python解释器,可以在PowerShell执行Python脚本PowerShell有一个叫做"Python"的模块,通过该模块可以在PowerShell调用Python脚本,并获取返回结果。这样做的好处是可以利用PowerShell的强大功能来管理和控制Python脚本执行过程。 另外,PowerShell还提供了一些与Python相关的功能。例如,PowerShell可以通过命令行安装Python模块,如使用"pip"来安装和管理Python的第三方库。同时,PowerShell还可以通过调用Python的API来执行一些Python特定的任务,如执行Python的函数、操作Python的对象等。 在使用PowerShellPython环境时,需要先安装Python解释器,并且将Python的安装目录添加到系统的环境变量。这样在PowerShell才能够找到Python的可执行文件和库文件。 总之,PowerShellPython是两个功能强大的工具,在Windows环境可以很好地结合使用。通过PowerShell调用Python脚本,可以兼顾PowerShell的管理能力和Python的编程能力,实现更加灵活和高效的任务执行和操作系统管理。 ### 回答2: PowerShell是一种命令行外壳,用于自动化任务和批量处理,而Python是一种高级编程语言。可以在PowerShell使用Python环境来执行Python脚本,从而结合两者的功能。 要在PowerShell使用Python环境,首先需要确保计算机上已经安装了Python解释器。可以从Python官方网站下载并安装Python。安装完成后,将Python解释器的路径添加到系统环境变量,这样PowerShell就能找到Python解释器并执行Python脚本。 在PowerShell使用Python环境,可以通过以下步骤: 1. 打开PowerShell控制台。可以在Windows操作系统的开始菜单搜索"PowerShell"来找到它。 2. 输入"python"命令,如果已经正确安装并配置了Python解释器,就会进入Python交互式环境,可以在其执行Python代码。 3. 若要执行Python脚本文件,可以在PowerShell输入"python 脚本文件路径"命令,其脚本文件路径是要执行Python脚本文件的完整路径。 使用Python环境后,可以在PowerShell使用Python的各种功能和库。例如,可以使用Python的字符串处理函数、数学函数、文件操作函数等来完成一些复杂的任务。还可以使用Python的第三方库来扩展功能,如数据科学、机器学习和网络编程等方面的库。 总之,通过在PowerShell使用Python环境,可以结合PowerShell的自动化功能和Python的强大编程能力来实现更多的任务和操作。 ### 回答3: PowershellPython环境都是用于开发和管理计算机程序的工具,但它们有着不同的用途和特点。 Powershell是由微软开发的命令行脚本语言和管理框架。它主要用于Windows操作系统,并提供了一种方便的方式来自动化和管理Windows系统的各种任务。Powershell支持各种脚本和命令,可以用于执行系统管理、自动化部署、配置管理等任务。它提供了大量的命令和模块,可以轻松地管理操作系统、安装软件、管理用户、管理网络等。 Python是一种通用的高级编程语言,具有简单易学、丰富的库和模块以及跨平台的特点。Python可以应用于各种不同领域的开发,如Web开发、数据分析、机器学习、人工智能等。Python具有简洁而优雅的语法,使得代码易于阅读和维护。Python的生态系统非常丰富,有大量的第三方库和模块可供使用,使开发者能够更快速地完成开发任务。 在某些情况下,PowershellPython可以进行集成使用。Powershell可以通过调用Python脚本来扩展其功能。例如,Powershell可以使用Python的库来处理大量的数据或执行复杂的算法。同时,PowershellPython也都支持调用外部程序和接口,可以实现它们之间的互相调用。 总结起来,PowershellPython都是强大的开发和管理工具,用于不同的任务和环境。Powershell主要用于Windows系统的管理和自动化,而Python则是一种通用的高级编程语言,适用于各种软件开发任务。对于Windows系统管理和自动化任务,Powershell是首选,对于通用的软件开发和数据处理任务,Python是更好的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值