浅谈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(虚拟环境)的主要内容,如果未能解决你的问题,请参考以下文章
Pythonpip模块部署——组件virtualenv和pipreqs
pipreqs——快捷生成一个Python项目的依赖模块requirements.txt
没有名为 pipreqs.__main__ 的模块; 'pipreqs' 是一个包,不能直接执行