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

Posted zhaohuhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈pipreqs组件(自动生成需要导入的模块信息) 和 virtualenv(虚拟环境)相关的知识,希望对你有一定的参考价值。

一、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 ./

有可能会报如下错误:

技术分享图片

这是由于编码问题所导致的,加上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(虚拟环境)的主要内容,如果未能解决你的问题,请参考以下文章

pipreqs 组件

Pythonpip模块部署——组件virtualenv和pipreqs

pipreqs——快捷生成一个Python项目的依赖模块requirements.txt

没有名为 pipreqs.__main__ 的模块; 'pipreqs' 是一个包,不能直接执行

flask 中的常用组件的使用 ,virtualenv组件和 pipreqs组件

生成项目依赖包文档自动生成接口文档