python虚拟环境介绍与使用

python虚拟环境简介

更多有关python虚拟环境的应用请参考https://www.jianshu.com/p/8bd364108cbd

虚拟环境的必要性

Linux环境中的应用

Windows环境中的应用

虚拟环境的创建

假如创建了一个专门存放python虚拟环境的目录PythonENV

  1. 在Windows终端,切换到PythonENV目录,输入python -m venv SimpleScripts
  2. 切换到目录C:\Users\andya\Desktop\PythonENV\SimpleScripts\Scripts\,执行activate或者activate.bat,激活虚拟环境
  3. 在虚拟环境中的任意目录都可执行deactivate命令来退出当前虚拟环境

注:
python虚拟环境venvconda一样有两种激活方式:cmd terminalpowershell。其中cmd terminal是以.bat结尾的可执行文件activate.bat,而powershell是以.ps1结尾的可执行文件Activate.ps1

Scripts/文件夹下,bat文件在cmd terminal通过call调用,ps1文件在powershell通过.调用执行

路径下还有一个无后缀的文件activate,这是在Linux下执行的文件。

可能遇到的问题

Windows系统中,则是通过.\venv\Scripts\activate命令进入虚拟环境,因为运行了 activate.bat 后会在同级目录下生成 activate.ps1,PowerShell 默认不允许执行 *.ps1 脚本文件。运行 ps1 文件会得到下面的错误:

PS D:\venv> .\flask2.2\Scripts\activate
.\django\Scripts\activate : 无法加载文件 D:\venv\flask2.2\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关
详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\django\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

所以要解决这个问题,需要在powershell里面修改policy:
使用管理员打开powershell

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
 
尝试新的跨平台 PowerShell https://aka.ms/pscore6
 
PS C:\Windows\system32> Set-ExecutionPolicy RemoteSigned
 
执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y](Y)  [A] 全是(A)  [N](N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): Y
PS C:\Windows\system32>
 
# Policy的有效参数:
# -- Restricted: 不载入任何配置文件,不运行任何脚本。 "Restricted" 是默认的。
# -- AllSigned: 只有被Trusted publisher签名的脚本或者配置文件才能使用,包括你自己再本地写的脚本。
# -- RemoteSigned: 对于从Internet上下载的脚本或者配置文件,只有被Trusted,publisher签名的才能使用。
# -- Unrestricted: 可以载入所有配置文件,可以运行所有脚本文件. 如果你运行一个从internet下载并且没有签名的脚本,在运行之前,你会被提示需要一定的权限。
# -- Bypass: 所有东西都可以使用,并且没有提示和警告。
# -- Undefined: 删除当前scope被赋予的ExecutionPolicy,但是Group Policy scope的Execution Policy不会被删除。

pip

pip常用的命令
  1. 升级包:pip install -U PackageName

  2. 显示包所在的目录:pip show -f PackageName

  3. 搜索包:pip search <搜索关键字>

  4. 查询可升级的包:pip list -o

  5. 下载包而不安装:pip install PackageName -d <目录> 或 pip install -d <目录> -r requirements.txt

  6. 导出当前python环境中的所有包名:pip freeze > requestment.txt

  7. 安装requestment.txt中的所有包:pip install -r requestment.txt

  8. 卸载requestment.txt中的所有包:pip uninstall -r requestment.txt

pip install PackageName或者python3 -m pip install PackageName,此方法默认安装package的最新版本

pip install PackageName==2.1.0或者python3 -m pip install PackageName==3.4,安装对应的package版本

以上安装package的方法,package的下载速度可能会很慢,可以使用国内的镜像源去提高下载速度。

推荐三个镜像源

  1. 清华源:https://pypi.tuna.tsinghua.edu.cn/simple
  2. 阿里云镜像源:https://mirrors.aliyun.com/pypi/simple
  3. 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/

使用方法: pip install PackageName -i https://pypi.tuna.tsinghua.edu.cn/simple

windows下pip安装包可能会存在的问题
出现警告或者没有权限等问题

倘若出现此问题,可在虚拟环境中的Scripts目录下使用命令python.exe -m pip install PackageName。倘若没有得到解决,自己再想办法吧,哈哈哈

pip安装包从虚拟环境中同步到真实环境中

本人小白阶段遇到的问题,哈哈哈😂

假如在虚拟环境中使用pip安装相关包,安装成功,且通过pip list也可看到所安装的包,但是退出虚拟环境后,执行pip list仍发现有我们在虚拟环境中安装的相关包。莫要着急,不是你的操作有误,而是因为在退出虚拟环境后,你是在虚拟环境的Scripts目录中运行的pip指令,因为该目录下存在虚拟环境的pip和python应用程序,在此目录下运行的pip指令,固然就相当于在虚拟环境中运行pip指令。(解释的很不专业,凑合听,不过应该很好理解)

VS code中使用python虚拟环境

ctrl + shift + p -> Python :Select Interpreter -> 选择创建的虚拟环境路径即可

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python虚拟环境是一种用于隔离和管理Python项目所需依赖的工具。在开发Python应用程序时,常常需要使用许多第三方库和不同的Python版本。而虚拟环境可以让我们在同一台机器上同时管理多个Python项目,每个项目都有自己独立的环境和依赖库。 虚拟环境可以帮助我们创建一个与物理环境隔离的Python执行环境。在物理环境中,我们可能已经安装了全局的Python和一些共享的依赖库。但是,当我们开始开发一个新项目时,我们可能需要使用不同的Python版本或者特定版本的第三方库。这时,我们可以使用虚拟环境来创建一个隔离的Python执行环境,确保项目的依赖与物理环境的依赖不冲突。 虚拟环境通过创建一个独立的Python环境目录,包含了一个独立的Python解释器和依赖库,以及相关的工具和配置文件。在虚拟环境中,我们可以使用标准的pip命令安装特定版本的第三方库,而这些库只对该虚拟环境可用,不会影响全局环境。 使用虚拟环境可以有效地管理项目的依赖,并且在不同的项目中切换时更加方便。它还可以避免因为不同项目间的依赖冲突而引发的问题。另外,虚拟环境也有助于创建可重现和可移植的开发环境,保证项目在不同的机器上的一致性。 总之,Python虚拟环境是一种非常实用的工具,可以帮助我们有效地隔离和管理Python项目的依赖,提高开发效率和可移植性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值