浅谈pipreqs组件(自动生成需要导入的模块信息) 和 virtualenv(虚拟环境)

摘要:
在这种情况下,每个应用程序可能需要有自己的“独立”Python运行环境。Virtualenv用于为应用程序创建“隔离”的Python运行环境。

一、pipreqs组件

pipreqs的作用

一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt。 如果一个项目使用时virtualenv环境,还好办 pip freeze 就可以解决,但是如果一个项目的依赖list没有维护,而且又是环境混用,那就不好整理的呀,不过,这里安利一个工具 pipreqs,可以自动根据源码生成 requirements.txt .

pip freeze命令

$ pip freeze > requirements.txt

这种方式配合virtualenv 才好使,否则把整个环境中的包都列出来了。

pipreqs的安装

pip install pipreqs

pipreqs的使用

生成requirements.txt文件

使用方式也比较简单,直接进入项目下然后使用 pipreqs ./ 命令即可,如:

pipreqs ./

有可能会报如下错误:

浅谈pipreqs组件(自动生成需要导入的模块信息) 和 virtualenv(虚拟环境)第1张

这是由于编码问题所导致的,加上encoding参数即可,如下:

pipreqs ./ --encoding=utf-8

安装requirements.txt文件中的模块

直接用下面命令就可以将文件中所有的模块一次性安装了

安装依赖文件:pip3 install -r requirements.txt 

二、 virtualenv简介

virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。

例如:

如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?

这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

安装

pip3 install virtualenv

基本使用

为一个工程创建一个虚拟环境:

首先:准备对哪个目录进行虚拟,就先进入到这个目录下(这里是c:PythonProject nblog ),然后运行命令:

virtualenv -p c:Python36python.exe venv

说明: -p就是python的版本(需要带上路径) venv就是虚拟的环境变量(目录名字)。

如果不需要指定python版本,直接使用命令:

virtualenv  venv

激活虚拟环境

需要进入自动创建的文件夹venv里的script目录

然后执行activate命令

c:PythonProject
nblog>cd venv/Scripts
 
c:PythonProject
nblogvenvScripts>activate

从现在起,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开。

像平常一样安装包,比如:

pip install requests

退出虚拟环境

使用deactivate命令即可退出当前虚拟环境

c:PythonProject
nblogvenvScripts>activate

这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。

删除虚拟环境

要删除一个虚拟环境,只需删除它的文件夹即可。

免责声明:文章转载自《浅谈pipreqs组件(自动生成需要导入的模块信息) 和 virtualenv(虚拟环境)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MapXtreme 2005学习(6):两种方法实现动态轨迹SQLServer中对Xml字段的操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

静听网+python爬虫+多线程+多进程+构建IP代理池

目标网站:静听网 网站url:http://www.audio699.com/ 目标文件:所有在线听的音频文件 附:我有个喜好就是听有声书,然而很多软件都是付费才能听,免费在线网站虽然能听,但是禁ip很严重,就拿静听网来说,你听一个在线音频,不能一个没听完就点击下一集,甚至不能快进太快,否则直接禁你5分钟才能再听,真的是太太讨厌了... 于是我就想用爬虫给...

五. python 字符串方法函数

一 .字符串方法函数 什么是字符串就是以 单引号或者双引号引起来的任意文本'ancask的库时时刻刻'"ABC事实就是惊声尖叫 1. 创建字符串: str1="abcde骨灰盒fgaa" str2="abcde吾问无为谓fgaa" str3="abcdefg少时诵诗书所所aa" 2.字符串运算连接 str6="SKSDK就是死你KsbDSKDKSKK" s...

windows+django3.1+ASGI+nginx部署

# 了解CGI CGI(通用网关接口, Common Gateway Interface/CGI),定义客户端与Web服务器的交流方式的一个程序。 #  什么是WSGI PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是Python应用程序或框架和Web服务器之间的一种接口,已经被广...

Python——rename更改Series和DataFrame的标签名(即列标签)

转载:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html >>> s = pd.Series([1, 2, 3]) >>> s 0 1 1 2 2 3 dtype: int64 >&g...

利用thrift在c++、java和python之间相互调用

转自:http://blog.csdn.net/andy_yf/article/details/7487384 thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。 下面记录以C++做服务器,C++,java和python做客户端的示例,这个和本人现在工作环境吻合,使用多线程长连接的socket来建立高效分布式系统的跨语...

在pycharm中运行python程序

安装PyCharm 安装过程取决于您的操作系统:   在Windows上安装PyCharm 运行.exe您已下载的文件,并按照PyCharm安装向导的说明进行操作。   在macOS上安装PyCharm 打开.dmg您已下载的软件包,并将PyCharm拖到Applications文件夹。   在Linux上安装PyCharm .tar.gz将您下载的存档打...