ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-02-21 13:53:49  阅读:307  来源: 互联网

标签:封装 PIPENV pipenv python auto 虚拟环境 模块 Pipfile


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]

 

 

标签:封装,PIPENV,pipenv,python,auto,虚拟环境,模块,Pipfile
来源: https://www.cnblogs.com/yingzidy/p/12341097.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有