Python中Virtualenv和pip如何使用?

本文和大家分享的主要是python 中Virtualenv 和 pip的使用相关内容,一起来看看吧,希望对大家 学习python有所帮助。

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

来源:Shawn’s Blog

时间: 2024-10-19 17:57:36

Python中Virtualenv和pip如何使用?的相关文章

python中如何使用pip安装自己的第三方模块

系统:CentOS6.8    python版本:python3.5 文本编辑器:vim python中我们很多时候,需要将自己的py文件导入到python路径中,但是我们自己的文件自身并不在python默认的库文件路径下,这时候就需要我们自己将我们的py文件import进入了 下面示例怎么导入自己的第三方模块,我们首先需要自己创建一个.py文件,名字随意明名了,但是不要和python内部模块重命,内部模块路径在/usr/lib/python3.5/site-packages.要不然使用pyth

Python中如何用pip安装外部主机文件

在python中安装非自带python模块,有三种方式: easy_install pip 下载压缩包(.zip, .tar, .tar.gz)后解压, 进入解压缩的目录后执行python setup.py install命令 本文主要针对pip安装时可能会碰到的一种情况,及解决办法: 假如我要安装pylint模块,该模块非python自带模块,用import肯定不能导入,需要额外安装 >>> import pylint Traceback (most recent call last)

关于python中的虚拟环境 virtualenv

virtualenv是python中常用的虚拟环境.而且创建的虚拟环境与主机的环境无关.保持了一个纯净性 下面总结一下.如何在windows下面使用: 1)安装virtualenv pip install virtualenv 2)进入一个你希望当虚拟环境的目录,输入创建的命令: >D: >cd python >mkdir python-env >virtualenv venv 3)开启和关闭: >cd venv >Scripts/activate #关闭 >de

[python] 2、python使用pyaudio进行录音,及其在python虚拟环境virtualenv中安装遇到的问题

1.pyaudio安装大背景 最近在做智能音箱,需要编写声音拾取代码,我先是百度两篇比较常见的用python进行录音的操作的文章: python写一个录音小程序:http://blog.csdn.net/yexiaohhjk/article/details/73132562 利用百度语言识别API实现语音识别python:http://blog.csdn.net/yexiaohhjk/article/details/73134815 发现需要用到pyaudio,然后在其官网找到如何安装:http

python中的pip

Windows中的pip不好用啊 但有时候又必须得用,所以,这事,还是最好搞清楚吧. *******************************************华丽丽的分割线********************************************************** 首先,得先安装个python2.7吧.这个自不必说. 一般情况下,自带pip的命令. 先查一下版本号, pip -V              #注意 V 要大写,反正我的小写它不认,还琢磨了半天

Windows下Python中pip安装Pillow报错总结(转载)

遇到的俩种错误1.ValueError: zlib is required unless explicitly disabled using --disable-zlib, aborting 问题原因未知,博主尝试了一下解决方案可以解决问题.博主PC  是 Pthon3.4.3-win32pip install --upgrade pip 在cmd中更新一下pip,然后发现出现了第二个问题,权限问题,给用户添加所有者权限后,再次执行 pip install Pillow  完美安装Pillow

Python中创建虚拟环境(virtualenv模块)

针对环境:win7,python2.7 需要virtualenv模块1.测试是否已安装virtualenv模块    import virtualenv  #没有报错则已安装    否则需要先安装virtualenv模块    pip install virtualenv2.先创建一个目录(f://learning_log)    切换到对应目录后使用:virtualenv ll_env  #ll_env虚拟环境名(随意)   3.激活    ll_env\Scripts\activate   

python中pip工具常用命令汇总

1.查看python解释器的版本 python --version 2.查看pip的版本 pip --version pip show 3.查看pip的帮助 pip --help 4.查看python的帮助 python --help 5.查看pip安装的外部包 pip list 6.查看需要更新的外部包 pip list --outdated 7.pip在线安装外部包 pip install 包名 8.pip在线通过镜像网站安装外部包 pip install -i https://pypi.t

Ubuntu中配置Python虚拟环境Virtualenv

Ubuntu版本为18.04 Virtualenv介绍 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3.如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办? 这种情况下,每个应用可能需要各自拥有一套"独立"的Python运行环境.virtualen