首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 虚拟环境:原理解析与最佳实践

每次切换项目时,他都要手动更改 Python 包的版本,这不仅繁琐,而且经常出错。"难道就没有办法让每个项目使用自己的专属 Python 环境吗?"小王在项目组会议上提出这个问题。...当你在系统中安装 Python 时,会得到:Python 解释器:负责执行 Python 代码的程序标准库:Python 内置的库,如 os、sys 等site-packages:第三方包的安装目录当我们执行.../ 目录存放该环境的第三方包pyvenv.cfg 文件保存环境配置信息让我们创建一个虚拟环境来验证:python -m venv my_project_env查看生成的目录结构:my_project_env...使用创建环境时的 Python 版本conda 可以任意指定 Python 版本包管理venv 使用 pip,从 PyPI 安装包conda 使用自己的包管理系统,可以处理复杂的依赖关系但是基于 venv...Docker 中的虚拟环境在容器化部署时,虚拟环境仍然有用:FROM python:3.8-slimWORKDIR /app# 创建虚拟环境RUN python -m venv /opt/venv# 使用虚拟环境

18300

客观对比 Python 所有的依赖环境管理工具

当我开始使用 Python 并创建我的第一个包时,我很困惑。创建和管理包似乎比我预想的要困难得多。此外,存在多种工具,但我不确定该使用哪一种。我相信你们大多数人过去都遇到过同样的问题。...在工作中,您使用的是 Python 3.7,而您的个人项目应该使用最新的 Python 版本(当前为 3.11)。换句话说:您希望能够安装不同的 Python 版本并在它们之间进行切换。...Conda 是一个具有很多功能的巨大工具。存在很多教程和博客文章(例如官方的),因此我不会在这里详细介绍。但是,我想提一件事:虽然可以构建和发布包,但 conda 我没有将该工具包含在适当的类别中。...当您开发包并希望您的更改直接反映在您的环境中时,这是一个重要的功能。 它支持 PEP 621(项目元数据:peps.python.org/pep-0621/)吗?...> 锁定文件:首次安装软件包时,Poetry 会解析 pyproject.toml 文件中列出的所有依赖项并下载最新版本的软件包。

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【翻译】客观评价与对比Python所有的依赖环境管理工具

    背景知识 当我开始使用 Python 并创建我的第一个包时,我很困惑。创建和管理包似乎比我预想的要困难得多。此外,存在多种工具,但我不确定该使用哪一种。我相信你们大多数人过去都遇到过同样的问题。...在工作中,您使用的是 Python 3.7,而您的个人项目应该使用最新的 Python 版本(当前为 3.11)。换句话说:您希望能够安装不同的 Python 版本并在它们之间进行切换。...Conda 是一个具有很多功能的巨大工具。存在很多教程和博客文章(例如官方的),因此我不会在这里详细介绍。但是,我想提一件事:虽然可以构建和发布包,但 conda 我没有将该工具包含在适当的类别中。...当您开发包并希望您的更改直接反映在您的环境中时,这是一个重要的功能。 它支持 PEP 621(项目元数据:https://peps.python.org/pep-0621/)吗?...> 锁定文件:首次安装软件包时,Poetry 会解析 pyproject.toml 文件中列出的所有依赖项并下载最新版本的软件包。

    12400

    Python虚拟环境(pipenv、venv、conda一网打尽)

    当我们在执行python test.py时,思考如下问题: python哪里来?...这个主要归功于配置的系统环境变量PATH,当我们在命令行中运行程序时,系统会根据PATH配置的路径列表依次查寻是否有可执行文件python(在windows中,省略了后缀.exe),当查寻到该文件时,执行该文件...test.py代码中import的模块在哪里找?import的模块包含两类,一类称为标准库,随着python的安装而安装;另一类称为第三方库,使用pip工具或者自己手动安装的包。...需要共享项目环境时,共享Pipfile文件即可 想要在虚拟环境中执行脚本,比如执行main.py文件,可以使用命令pipenv run python main.py 可以在Pipfile文件中自定义命令...注意: 在pipenv创建的虚拟环境中同样有这两个脚本文件 activate文件有多个版本,当在windows系统时,如果用CMD时,使用activate.bat;如果用PowerShell时使用activate.psl

    38.5K57

    巧夺天工:VSCode Python 终端环境隔离的背后原理

    但是,你知道这背后的实现原理吗?终端环境隔离的本质:环境变量首先,我们要理解终端中环境激活的本质。...当我们在终端中执行 source venv/bin/activate 或 conda activate env_name 时,这些命令实际上在做什么?...它们修改了当前 shell 进程的环境变量:修改 PATH 环境变量,将虚拟环境的 bin 目录放在最前面设置特定的环境变量(如 VIRTUAL_ENV、CONDA_PREFIX 等)修改终端提示符(通过修改.../path/to/printEnvVariables.py:使用 Python 导出所有环境变量为什么要这么设计?...shell 进程中执行,所以 Python 脚本能获取到激活后的环境变量通过 echo 特殊标记,可以在输出中准确定位到环境变量 JSON 的起始位置printEnvVariables.py 会将环境变量以

    7100

    Anaconda完全入门指南 原

    包管理 如果我在本地只有一个python环境那我所有程序用到的各种包都只能放到同一个环境中, 导致环境混乱, 另外当我将写好的程序放到另一电脑上运行时又会遇到缺少相关包, 需要自己手动一个个下载的情况,...试试, 这样会进入base环境的python解释器, 如果你把原来环境中的python环境去除掉会更能体会到, 这个时候在命令行中使用的已经不是你原来的python而是base环境下的python.而命令行前面也会多一个...activate 创建自己的虚拟环境 我们当然不满足一个base环境, 我们应该为自己的程序安装单独的虚拟环境....当需要重新创建一个相同的虚拟环境时可以用 conda env create -f environment.yaml 其实命令很简单对不对, 我把一些常用的在下面给出来, 相信自己多打两次就能记住 activate...image.png 可以发现我们之前创建的learn目录就在下面, 再点进去 ? image.png 这不就是一个标准的python环境目录吗?

    91520

    macbookpro安装anaconda_mac下python编程软件

    ,我的路径是/opt/anaconda3/bin (再记录一下,在finder的“显示”中,选择“显示路径栏”,就可以显示当前位置) 修改.bash_profile文件 vim .bash_profile...我们将其修改为国内的镜像,这里我选择的是清华的镜像。注意,清华的镜像在19年4月16日停止了服务,但在19年7月21日已经恢复,可以继续使用了。...创建好一个某版本的python环境,比如我使用了conda create -n test1py3.7 python=3.7创建了一个名为test1py3.7的环境 打开PyCharm,选择Create...==》… 这里,我们在之前anaconda3的目录下,选择envs文件夹下创建好的test1py3.7>bin>python3.7,OK 选择后,界面如下,选择OK,然后Create,等待创建好一个项目...右键该.py文件,选择Run,成功 修改PyCharm的解释器 点击PyCharm==》Preferences… 在搜索栏中输入interpreter,选择Project Interpreter,可以查看当前选择的解释器及相关包

    48830

    别再问我Python打包成exe了!(终极版)

    将其中脚本py_word.py,待处理的表格文件workbook.xlsx,以及准备好的软件图标图片chengzi.ico放在了我电脑的F:\py_word目录下(如果大家感兴趣的话,可以在文末下载获取...我也试过很多方法,比如:修改spec文件自定义打包、pipenv 虚拟环境、使用开源的upx压缩等等,但是往往要么过程比较麻烦,要么成功率不高(压缩成不成功全看脸)。...(大家也可以使用Virtualenv、Pipenv来设置虚拟环境,善用搜索,方法大同小异) 先记几个命令,很简单 conda create -n 虚拟环境名字 python==3.6 #创建虚拟环境...成功创建了一个名字为aotu,且基于python版本3.6的虚拟环境。 ? 在创建过程中需要回复(y/n),Yes,再激活虚拟环境 ?...当然我们也可以在刚刚的窗口,使用命令conda info --envs,来查看conda环境下所有的虚拟环境 ?

    21.4K40

    别再问我Python打包成exe了!(终极版)

    大家好,我是小五? 《老板又出难题,气得我写了个自动化软件》 上次这篇文章中,评论区有好几条留言都是关心如何将python脚本打包成10多M的?...将其中脚本py_word.py,待处理的表格文件workbook.xlsx,以及准备好的软件图标图片chengzi.ico放在了我电脑的F:\py_word目录下(如果大家感兴趣的话,可以在文末下载获取...我也试过很多方法,比如:修改spec文件自定义打包、pipenv 虚拟环境、使用开源的upx压缩等等,但是往往要么过程比较麻烦,要么成功率不高(压缩成不成功全看脸)。...成功创建了一个名字为aotu,且基于python版本3.6的虚拟环境。 ? 在创建过程中需要回复(y/n),Yes,再激活虚拟环境 ?...当然我们也可以在刚刚的窗口,使用命令conda info --envs,来查看conda环境下所有的虚拟环境 ?

    1.5K20

    windows 使用 miniconda 配置 python 虚拟环境

    前言# python 虚拟环境的重要性已经无需多言了, 目前所有支持 python 虚拟环境的工具中最好用的应该就是 conda 了, 最重要的一点是可以一键创建不同版本的 python 环境以适应不同的需求...- D:\software\python\pkgs 上述配置文件中主要配置了三项: conda 的清华国内源, 虚拟环境和 pkg 的存储路径 如不配置创建虚拟环境时可能会生成到用户目录下, 导致系统盘臃肿..., 建议新建一个目录专门存放 2.3 pip 配置# 系统中直接安装的 python, 其 pip 的配置文件一般存放在用户目录的 .pip/pip.ini, 使用 conda 创建的虚拟环境的 pip..., 最后一条 proxy 可以不写, 这个问题是因为我常开代理, pip 默认用 https 访问系统代理, 导致 pip 报错. 2.4 管理虚拟环境# 上述步骤做完后就可以正式使用 conda 创建虚拟环境了...其他# conda 最为人诟病的点应该是包管理跟 pip 可能会产生一些冲突, conda 官方给出的最佳方案是 全程使用 conda install 来安装模块, 实在不行再用 pip 使用

    2K60

    优雅部署环境

    优雅部署环境 0.导语1.pycham1.1 环境配置1.2 项目文件夹1.3 底部窗口2.Anaconda2.1 Conda配置2.2 py2与py3环境切换3.Jupyter3.1 启动及配置3.2...Navigator,打开正常运行 2.2 py2与py3环境切换 方法一:Anaconda切换 打开Anaconda Navigator,如下图所示,点击create创建一个新的配置环境,Python3...以上创建操作就相当于conda create -n py2 python=2.7,此时不管是上述可视化操作还是命令操作,会在D:\Anaconda\envs生成相应的文件夹(例如:py2) activate...当我们第一次使用jupyter时候,会发现在c盘里面,如何调整使得jupyter按照我们想打开的位置呢?...''' 3.2 Jupyter常用操作 新建文件与重命名文件 如下图所示,在首页右上角new可以创建python3文件也可以创建目录! ? 然后进入下面这个空的文件中: ?

    85830

    Anaconda安装和使用

    我安装它的原因是因为我要使用Python的AkShare库获取数据,要求Python 3.6 及以上版本。...我电脑Python 2.7.15,又不想升级,所以安装anaconda,用anaconda创建虚拟机环境,在虚拟机环境使用Python3.6,本地电脑保持原版本不变。...这里选择安装目录,将来创建的各个版本Python的环境文件也都放在这个目录的子目录下 ? 这里我勾选了下面,没有勾选上面 ?...解决办法是把channels设置为清华大学的镜像地址,在命令行依次执行下面命令。建议先设置下面的channels,然后创建你的第一个环境。...到这里说明创建ak_test环境完成,提示你使用环境和离开环境的命令。 执行conda activate ak_test,看到(base)变成了(ak_test),说明已经进入了ak_test环境。

    1K30

    Anaconda简介、安装、环境设置

    应用程序 conda 是包和环境管理器: 使用 conda 创建虚拟环境,可以方便的分隔使用不同 Python 版本和/或不同包的项目 可使用conda 在环境中安装、卸载和更新包。...中 anaconda 的路径 三、管理包 conda list:列出所有已安装的包 conda install package_name:安装软件包,同时它会自动安装此软件包的依赖项 conda...例如, 使用conda create -n py2 python=2 命令安装 Python 的最新版本 进入环境:linux 下用 source activate env_name, windows...env remove -n env_name,默认的环境(即当你不在环境中时使用的环境)名为 root。...第一部分 conda env export 输出环境中的所有包的名称(包括 Python 版本) 加载环境:conda env create -f environment.yaml 管理环境总结 # 创建一个名为

    3.1K31

    新手如何发布第一个Python项目开源包?这里有一份详细指南

    第 2 步: 使用打包工具创建 setup.py 在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...第 5 步:创建一个合理的文档 现在你的项目已经测试过了,结构也很好了,是时候添加一个合理的文档。首先是要有一个好的 readme 文件,它会在你的 Github 项目库的根目录上显示。...由于 readme 文件应该相当综合,因此通常会有一个更详细的文档。你可以用 sphinx 来完成,然后在 readthedocs 上管理文档。与文档相关的文件通常放在 docs/文件夹中。...这应该相当简单,而且 Pypi 还提供了一个可以在实际部署之前使用的测试环境。

    1.3K30

    python anaconda和pycharm的区别_质量度三者关系

    大家好,又见面了,我是你们的朋友全栈君。...(2)脚本方式运行 新建一个a.txt脚本文件,写完脚本之后, 然后把名称后缀命名为.py,到 命令窗口找到相应的文件目录,然后执行代码 python a.py,就可以运行了。...Pycharm PyCharm是一种常用的Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、...因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python...而要进行项目开发的人员,时常有多个项目同时开发,并且不同的项目需要不同版本的工具包,这时使用Anaconda可以帮助我们管理更多项目的环境,将每个项目单独放在一个虚拟环境中,并且使这些环境中工具包相互独立

    90430

    新手如何发布第一个Python项目开源包?这里有一份详细指南

    第 2 步: 使用打包工具创建 setup.py 在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...第 5 步:创建一个合理的文档 现在你的项目已经测试过了,结构也很好了,是时候添加一个合理的文档。首先是要有一个好的 readme 文件,它会在你的 Github 项目库的根目录上显示。...由于 readme 文件应该相当综合,因此通常会有一个更详细的文档。你可以用 sphinx 来完成,然后在 readthedocs 上管理文档。与文档相关的文件通常放在 docs/文件夹中。...这应该相当简单,而且 Pypi 还提供了一个可以在实际部署之前使用的测试环境。

    82720

    2023-10月的马拉松在线互动授课答疑精选

    为了更好的学习,我需要在本地安装4.3版本吗;还是我把我服务器的R更新到4.3版本,如果这样的话,更新R后会影响我之前安装的包的使用吗 我们授课了很多代码都只是练习使用,所以你在本地会比较方便一点,等你将来真的要做大项目的时候再去服务器...13【R】中括号内的输出值,应该不会是整数,而且是负数;这样的下标放在中括号内,为什么会有输出值 在括号外的大概就是这个意思 14【R环境】请问这个g文件打开后是只能看到”> load("C:/Users...试试把最后的{1:10}改为{1..10}。 34【Linux】在rm 中i 交互回答中,为啥我没出来呢?...所以我就设置了这样的一个参数,允许你把那些值特别小的点去掉。 36【Linux小环境】安装Linux软件包的时候,忘记创建小环境了,全部装在base里了,怎么办?...最简单的办法就是删了conda从头再来,建议从头就使用小环境来管理。

    37540

    Python学习的路上,Anaconda送你一双遮天神翼

    package_name 创建环境时,可以指定要安装在环境中的 Python 版本 当我们同时使用 Python 2.x 和 Python 3.x 中的代码时这很有用。...这就要创建具有特定版本 Python 的环境,比如创建环境名称为py3,并安装最新版本的Python3命令: 当然我们也可以这样创建环境名称为py2,并在该环境中安装最新版本的Python2: conda...我们在 GitHub 等开源仓库上共享代码时,最好以这样的方式同时创建环境文件并将其上传到代码库中。这可以让别人很轻松地安装你的代码及其所有依赖项。 导出的环境文件,在其他电脑环境中如何使用呢?...对于那些兵不使用 conda 的用户,我通常还可以使用 pip freeze > environment.txt 导出一个txt文件并将其上传到代码库中。...我们能看到如下环境列表,而你当前所在环境的旁边会有一个星号。默认的环境(即当我们不选定环境时使用的环境)名称为 root。 ?

    1.3K20
    领券