当前位置: 首页 > 编程笔记 >

Python 中 Virtualenv 和 pip 的简单用法详解

单琛
2023-03-14
本文向大家介绍Python 中 Virtualenv 和 pip 的简单用法详解,包括了Python 中 Virtualenv 和 pip 的简单用法详解的使用技巧和注意事项,需要的朋友参考一下

本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下:

0X00 安装环境

我们在 Python 开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了virtualenv的诞生。virtualenv 可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了。 下面的内容只适用于 Linux/OSX,未经 Windows 环境测试

要使用这个功能还是需要安装,安装 virtualenv 肯定就得直接用 pip 安装了,pip install virtualenv就可以轻松装上了。装好之后我们就可以来测试一波了。

0X01 初始化一个空的工作环境

首先在一个空的环境中执行virtualenv --no-site-packages test_env,就是在当前目录创建一个名为 test_env 的虚拟环境。这里--no-site-packages参数是指不从全局的 Python 中携带任何第三方库。就比如说你在全局 Python 中安装了 xxx 库,在不用这个参数来创建虚拟环境时,虚拟环境中也会带着这个库;但是加上了这个参数,虚拟环境中就是一个纯净的 Python,没有这些库。

root in ~ λ virtualenv --no-site-packages test_env
New python executable in /root/test_env/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pip, wheel...done.

然后可以通过source test_env/bin/activate可以进入(激活)到这个虚拟环境里去。进入到虚拟环境中之后,通常情况下你的命令提示符最前面会出现一个括号,括号里面写着你虚拟环境的名字。

这里说是虚拟环境,其实一切都是真实的。只是说你在激活了这个环境,在这个环境下用 pip 安装的库都放在 test_env 中。

也可以通过deactivate来退出这个环境。

0X02 批量导出和安装库

比如我们开发了一个项目,里面用到了 pymongo/requests/flask/pymysql 等等等等十几二十个库,还要指定特定的版本,那么当把一个项目从机器 A 迁移到机器 B 的时候就会很麻烦。需要手动记录每个库和版本,还要逐个去安装,非常麻烦。所以针对这个问题 pip 已经有了非常完善的解决方案。

(test_env) root in ~ λ pip freeze > requirements.txt # 导出已安装的库

这个命令可以导出当前环境中安装好的所有第三方库,并且是以一个标准的格式导出的。所以一般一个标准的 python 项目的根目录都会有这个名为requirements.txt的依赖文件。

既然可以一次性导出,那么必然可以一次性安装喽。通过这种方式就可以将上面导出的特定版本的所有库一次性全装上。配合 virtualenv 可以快速的部署一个 Python 项目,并且不会搞乱其他的 Python 项目环境。

(test_env_1) root in ~ λ pip install -r requirements.txt

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 我安装twisted时遇到问题 PIP1.1 from/home/chris/GL/GLBackend/glenv/lib/python2.7/site-packages/pip-1.1-py2.7.egg(python 2.7) 创建虚拟环境 在glenv/bin/python2.7中创建新的python可执行文件也在glenv/bin/python中创建可执行文件安装分发...........

  • 让 pip 默认强制全局使用虚拟环境 现在应该很清楚了,使用虚拟环境是个保持开发环境干净和分隔不同项目要求的最佳实践。 当同时在多个不同的项目上工作,切换项目时经常会忘记激活对应的虚拟环境。 其结果就是,虽然本意是要安装在特定项目的虚拟环境中,但是仍会错误的在全局范围内安装包。 时间越久,就会导致混乱的全局包列表。 为了确保当使用 pip install 时是将包安装在激活的虚拟环境中,考虑在 ~

  • 我在Ubuntu 20.04桌面上。我不记得我是否必须在这里手动安装(必须在其他Ubuntu机器上安装),但我有一个系统: ...然后: 然后,尝试从我的主目录设置virtualenv: 然后,我将以下内容放在venv_mpl/requirements.in中: 然后,我启用 virtualenv,并尝试安装软件包: 嗯,是的,我以前确实安装了apturl: …但话说回来,不应该是这样的吗,如果我

  • 本文向大家介绍C# Winfom 中ListBox的简单用法详解,包括了C# Winfom 中ListBox的简单用法详解的使用技巧和注意事项,需要的朋友参考一下 1、如何添加listBox的值 2、如何判断listBox集合是否添加过 3、如何获取listBox选中的值 4、如何移除listBox中存在的值 5、综合使用例子 简单实现人员从部门1转移到部门2或部门2转移到部门1 1)界面设计 2

  • 我知道在这方面也有类似的问题。例如,这一条:为Python安装pip、virtualenv和distribute的正确方法是什么? 我想安装这些模块按照我的学习Python的硬的方式教程:http://learnpythonthehardway.org/book/ex46.html 我设法(我想)通过使用sudoeasy_installpip安装pip,但是当我运行pydoc模块时,我看不到它。所

  • 本文向大家介绍python中yield的用法详解——最简单,最清晰的解释,包括了python中yield的用法详解——最简单,最清晰的解释的使用技巧和注意事项,需要的朋友参考一下 首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考