zoukankan      html  css  js  c++  java
  • 浅谈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解释器,包括已安装的库也会回到默认的。

    删除虚拟环境

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

  • 相关阅读:
    Nginx lingering_close延迟关闭
    Nginx 减少关闭连接的time_wait端口数量
    Tcp协议的keepalive功能
    Nginx 慢启动与拥塞窗口
    Nginx 优化缓冲区与传输效率
    linux 目录分类与文件操作
    Nginx 滑动窗口与缓冲区
    python 关键字yield
    模块与包
    面向对象
  • 原文地址:https://www.cnblogs.com/zhaohuhu/p/9217632.html
Copyright © 2011-2022 走看看