【python知识】 - Python3之PIPENV虚拟环境及封装

Python3封装之PIPENV虚拟环境

Python的封装是通过pyinstaller直接打包python环境下的所有第三方模块,不管是不是封装程序涉及到的模块通通都一股脑打包进来,造成封装后大小超出预计很多。

Pipenv 是一款管理虚拟环境的命令行软件,简单来讲,它可以创建一个只在某个目录下的局部 Python 环境,而这个环境是可以和全局环境脱离开的.

安装方式:

>pip install pipenv   Python常用的安装第三方模块方法

安装完成后,选择一个目录,比如E:\ENV\等,然后在该目录下进入命令终端,安装python版本

>pipenv install --python 3.6   笔者这里装的是3.6版本,显示如下即安装成功

Creating a virtualenv for this project…

Pipfile: E:\env\auto\Pipfile

Using C:/Program Files/Python36/python.exe (3.6.5) to create virtualenv…

[=   ] Creating virtual environment...Using base prefix ‘C:\\Program Files\\Python36‘

New python executable in C:\Users\win\.virtualenvs\auto-NWXqOu9e\Scripts\python.exe

Installing setuptools, pip, wheel...

done.

Running virtualenv with interpreter C:/Program Files/Python36/python.exe

Successfully created virtual environment!

Virtualenv location: C:\Users\win\.virtualenvs\auto-NWXqOu9e

Creating a Pipfile for this project…

Pipfile.lock not found, creating…

Locking [dev-packages] dependencies…

Locking [packages] dependencies…

Updated Pipfile.lock (ca72e7)!

Installing dependencies from Pipfile.lock (ca72e7)…

================================ 0/0 - 00:00:00

To activate this project‘s virtualenv, run pipenv shell.

Alternatively, run a command inside the virtualenv with pipenv run.

下一步动作:

>pipenv shell   进入pipenv下的python虚拟环境

E:\env\auto>pipenv shell

Launching subshell in virtual environment…

Microsoft Windows [版本 10.0.17763.914]

(c) 2018 Microsoft Corporation. 著作權所有,並保留一切權利。

输入pip list可以查看虚拟环境下已有的模块:

(auto-NWXqOu9e) E:\env\auto>pip list

Package    Version

---------- -------

pip        19.3.1

setuptools 44.0.0

wheel      0.33.6

可以看到跟初始的pycharm一样,一切第三方模块都要重新导入。

这里顺便提下,因为这也算一个第三方模块,所有源码提取于国外源,所以导入第三方模块默认使用的url地址是国外源:url = "https://pypi.org/simple"。

为了加快导入速度,读者可以打开目录下的Pipfile文件,修改里面的url为国内源(笔者推荐清华源)

https://pypi.tuna.tsinghua.edu.cn/simple/

name可改可不改。

以上修改读者自愿!

接着就是导入第三方模块,按需要封装的程序所需的模块导入即可。

>pipenv install pyinstaller

>pipenv install pywin32

Installing pywin32…

Adding pywin32 to Pipfile‘s [packages]…

Installation Succeeded

Pipfile.lock (bb5dc2) out of date, updating to (ca72e7)…

Locking [dev-packages] dependencies…

Locking [packages] dependencies…

Success!

Updated Pipfile.lock (bb5dc2)!

Installing dependencies from Pipfile.lock (bb5dc2)…

================================ 1/1 - 00:00:05

导入完成,再在虚拟环境目录下执行pyinstaller封装指令即可。

E:\env\auto>pyinstaller -F -i anjian.ico --distpath anjian/ --clean -w autoUI.py -p auto.py --hidden-import auto

关于pyinstaller封装指令:

--distpath : 打包到哪个目录下

如果不指定 --dispatch 的话,最后会默认发布到 dist 目录下

-w: 指定生成 GUI 软件,也就是运行时不打开控制台

-c: 运行时打开控制台

-i : 指定打包后可执行文件的图标

--clean: 在构建之前清理PyInstaller缓存并删除临时文件

关于打包成什么样,有两种选择:

-D: 创建包含可执行文件的单文件夹包,同时会有一大堆依赖的 dll 文件,这是默认选项

-F: 只生成一个 .exe 文件,如果项目比较小的话可以用这个,但比较大的话就不推荐

如果要打包文件附带自建的py模块,则用如下方式添加即可。

pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2]

原文地址:https://www.cnblogs.com/yingzidy/p/12341097.html

时间: 2024-10-01 23:41:15

【python知识】 - Python3之PIPENV虚拟环境及封装的相关文章

python在Linux中安装虚拟环境,区别python2和python3,分别安装模块

安装虚拟环境的时候遇到的问题,解决的过程很闹心,在这里简单直接的分享出来,就是为了解决问题.  安装虚拟环境(须在联网状态下) $ sudo pip install virtualenv $ sudo pip install virtualenvwrapper 安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量: # 1.创建目录用来存放虚拟环境 mkdir $HOME/.virtualenvs # 2.打开~/.bashrc文件,并添加如下: export WORKO

Python介绍与特点(自学python知识整理)

Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计: Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言. Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序. Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术. Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语

Python pip换源 创建虚拟环境 luffy项目配置(数据库bug)

目录 pip安装源 基本使用 永久配置安装源 Windows Linux 文件配置内容 虚拟环境安装 Windows Linux 使用 luffy目录重构 日志文件配置 封装项目异常处理 二次封装Response模块 路由组件配置 数据库配置 Django 2.x 一些版本pymysql兼容问题 pip安装源 基本使用 采用国内的源,加速下载模块速度 常用的pip源: -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.aliyu

Python知识总结

Python知识总结 一.python简介 1.Python简介 Python是一种解释型.交互式.面向对象.是初学者的语言. 2.python特点 ①易于学习 ②易于阅读 ③易于维护 ④一个广泛的标准库 ⑤互动模式 ⑥便携式 ⑦可扩展 ⑧数据库 ⑨GUI编程 ⑩可扩展性 3.python支持tab补全功能: >>> import readline,rlcompleter >>> readline.parse_and_bind('tab: complete') 可以将上

python基础:pip和虚拟环境

pip pip的用法其实跟linux的yum很像,它可以帮我们安装python所需要的环境包,并且可以包解决依赖关系 列出已安装的包  pip list 安装要安装的包 pip install xxx 安装特定版本 pip install django==1.1.5 导出python的环境 pip freeze > requestment.txt 从导出的python环境中安装所需要的包 pip install -r requestment.txt 卸载导出的python环境中的包 pip un

Python3安装和虚拟环境配置

今日内容 https://www.cnblogs.com/pyyu/p/9015317.html 今日内容博客地址 1.编译安装python3 1.下载python3的源码 cd /opt yum install wget -y 安装wget命令 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 1.安装python3之前,环境依赖解决 通过yum安装工具包,自动处理依赖关系,每个软件包通过空格分割 提前安装好这些软件包,

[python]学习Django中的python知识拾遗

1.使用正则表达式进行URL匹配 urlpatterns = patterns('', # ... (r'^time/plus/\d+/$', hours_ahead), # ... ) (1)使用r代表字符串是原始字符串,表示python不会对立面的反斜杠\转义符进行处理,使用正则表达式一般使用原始字符串. (2)使用\d+表示匹配1个或者多个数字,如果限定只能使用两个数字,则\d{1,2}. (3)如果要把正则表达式的某个数作为参数,则用小括号包起来,如(r'^time/plus/(\d{1

【python】Python3中出现'gbk' codec can't encode characte的成功解决方法?

亲身测试,所遇问题完全解决!2018/07/08 21:37 环境:windows,Pycharm,python3.6.2 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题. 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗

《Python知识手册》

<Python知识手册>1. <a href="https://mp.weixin.qq.com/s/rNY4-_Li5R5B4IBSjnCD0A">手册介绍链接</a> 2. <a href="https://github.com/liyangbit/Python-Knowledge-Handbook">手册 Github 地址</a> 3. <Python知识手册>下载链接https://p