导航:首页 > 编程语言 > 打包python整个项目

打包python整个项目

发布时间:2024-02-28 19:24:15

① 如何将自己的python代码打包发布到pypi上

[html]viewplain
├──./tidypage
│├──./tidypage/cleaners.py
│├──./tidypage/extractor.py
│├──./tidypage/__init__.py
│└──./tidypage/titles.py
tidy_page
├──LICENSE
├──README.rst
├──requirements.txt
├──setup.py
├──tidypage
│├──cleaners.py
│├──extractor.py
│├──__init__.py
│└──titles.py
#!/usr/bin/envpython
from__future__importprint_function
fromsetuptoolsimportsetup,find_packages
importsys

setup(
name="tidy-page",
version="0.1.1",
author="DesionWang",
author_email="[email protected]",
description="htmltextparser,getthecontentformhtmlpage",
long_description=open("README.rst").read(),
license="MIT",
url="https://github.com/desion/tidy_page",
packages=['tidypage'],
install_requires=[
"beautifulsoup4",
lxml_requirement
],
classifiers=[
"Environment::WebEnvironment",
"IntendedAudience::Developers",
"OperatingSystem::OSIndependent",
"Topic::TextProcessing::Indexing",
"Topic::Utilities",
"Topic::Internet",
"Topic::SoftwareDevelopment::Libraries::PythonMoles",
"ProgrammingLanguage::Python",
"ProgrammingLanguage::Python::2",
"ProgrammingLanguage::Python::2.6",
"ProgrammingLanguage::Python::2.7",
],
)
tidy_page
├──tidy_page/dist
│├──tidy_page/dist/tidy-page-0.1.0.tar.gz
│└──tidy_page/dist/tidy-page-0.1.1.tar.gz
├──tidy_page/LICENSE
├──tidy_page/README.rst
├──tidy_page/setup.py
├──tidy_page/tidypage
│├──tidy_page/tidypage/cleaners.py
│├──tidy_page/tidypage/extractor.py
│├──tidy_page/tidypage/__init__.py
│└──tidy_page/tidypage/titles.py
├──tidy_page/tidy_page.egg-info
│├──tidy_page/tidy_page.egg-info/dependency_links.txt
│├──tidy_page/tidy_page.egg-info/PKG-INFO
│├──tidy_page/tidy_page.egg-info/requires.txt
│├──tidy_page/tidy_page.egg-info/SOURCES.txt
│└──tidy_page/tidy_page.egg-info/top_level.txt
chmod600~/.pypirc
pythonsetup.pyregister-rpypi

② python怎么打包整个项目

distutils - Python自带的基本安装工具, 适用于非常简单的应用场景使用, 不支持依赖包的安装

通过distutils来打包,生成安装包,安装python包等工作,需要编写名为setup.py python脚本文件。

setuptools - 针对 distutils 做了大量扩展, 尤其是加入了包依赖机制。不支持python3,安装完setuptools后会有easy_install

distribute - 类似于setuptools,支持python3,安装完distribute后会有easy_install。

easy_install - setuptools 和 distribute 自带的安装脚本, 也就是一旦setuptools或distribute安装完毕, easy_install 也便可用了。

pip - 目标是取代easy_install。easy_install 有很多不足: 安装事务是非原子操作, 只支持 svn, 没有提供卸载命令, 安装一系列包时需要写

脚本; pip 解决了以上问题, 已俨然成为新的事实标准, virtualenv 与它已经成为一对好搭档;

distutils2 - setuptools 和 distribute 的诞生是因为 distutils 的不济, 进而导致目前分化的状况。它将成为 Python 3.3 的标准库

packaging , 并在其它版本中以distutils2 的身份出现; 换句话说, 它和 pip 将联手结束目前混乱的状况。

virtualenv - 用来创建隔离的python环境,处理python环境的多版本和模块依赖。

常识

sudo apt-get install 安装的package存放在 /usr/lib/python2.7/dist-packages目录中

pip 或者 easy_install安装的package存放在/usr/local/lib/python2.7/dist-packages目录中

手动从源代码安装的package存放在site-packages目录中。

更多学习内容,请点击Python学习网!

③ 如何将python程序打包为exe

1、安装PyInstaller 3.0
(1)下载:PyInstaller/3.0,2015-10-04更新;【PyInstaller-3.0.tar.gz】
(2)解压文件:【D:\PyInstaller3.0】;
(3)命令提示符进入到PyInstaller3.0文件夹内,输入命令:python setup.py install
或者:在命令提示符中输入:pip install pyinstaller
如果已经安装好,会有下图提示:

(4)输入命令:pip list,可以查看python所有安装的包及版本;

2、将py文件打包成exe文件
(1)在【D:\PyInstaller3.0】目录下新建文件夹【myexe】,将py文件放入其中;
(2)命令提示符进入到myexe文件夹;
(3)命令提示符输入:pyinstaller -F 文件名.py;注意空格和大小写;【例如pyinstaller -F mytest.py】
(4)在文件夹内将生成若干文件,其中exe文件在dist文件夹中。

3、其他参数:输入命令pyinstaller -h查看。
4、尝试过的命令:
(1)【pyinstaller -w mytest.py】,生成exe文件在运行时,不会弹出CMD窗口;
(2)【pyinstaller --icon=D:\PyInstaller3.0\myexe\icon\myicon.ico -F mytest.py】,可为exe文件生成图标。

④ mac 怎么打包python程序

编写的程序必须要有GUI(图形用户界面),否则程序是不会有显示的。
具体流程
1. 下载py2app
在此推荐使用Pycharm,下载第三方库时很方便。具体为File > Default Settings > Prroject Interpreter > “+” 搜索所需的包即可。若使用其他IDE,可通过终端输入
pip install py2app


easy_install py2app

注:pip的安装路径要和interpreter的路径保持一致,此处可能出现版本不一致的情况
2. 创建setup.py文件
cd /Users/apple/Desktop/function
py2applet --make-setup function.py

在此后,会显示
Wrote setup.py

但如显示
-bash: py2applet: command not found

说明未找到py2app中py2applet的位置,需手动输入,执行以下命令(重新进入终端,否则路径还在工作区)
sudo find / -name "py2applet" -type f

一般会搜索一段时间,在本人机器上地址为
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin/py2applet

这样的话,最初的命令变为
cd "工程路径"
"py2applet地址" --make-setup "python文件名"

不出意外的话,会显示
Wrote setup.py

说明setup文件已建立,其中具体内容会在以后提到。
3. 发布应用
接上一步,输入
rm -rf build dist
python setup.py py2app

一个简单的小程序就完成了,”.app”文件会在工程文件目录下的dist文件夹中。
下为demo中命令行中所有命令
Apples-MacBook-Pro:~ apple$ cd /Users/apple/Desktop/helloworld
Apples-MacBook-Pro:helloworld apple$ /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin/py2applet --make-setup helloworld.py
Wrote setup.py
Apples-MacBook-Pro:helloworld apple$ rm -rf build dist
Apples-MacBook-Pro:helloworld apple$ python setup.py py2app
running py2app
.........
.........
Done!
Apples-MacBook-Pro:helloworld apple$

到此为止,已完成小程序的发布。
4. 代码及结果
import Tkinter as tk
root = tk.Tk()
root.title("hello")
tk.Button(root, text="Helloworld!").pack()
tk.mainloop()

⑤ 使用PyInstaller打包Python程序

PyInstaller是一个用来将Python程序打包成独立可执行软件的工具,支持 Windows、Linux 和 Mac OS X。生成的可执行软件在没有Python的环境中可以直接运行,方便软件分发,进一步降低使用成本,提升使用效率。

下面演示如何使用 PyInstaller 将程序打包成Windows下的exe软件。

使用pip的方式进行安装,这样可以自动安装其他依赖库。

如果pip还未安装,请参考我的另一篇文章《 Python pip包管理工具 》

在cmd命令行控制台或者VS Code内置的终端输入命令行生成应用,首先将当前路径切换到Python程序所在的路径(如下示例的SubOcr.py文件在python文件夹下的SubOcr文件夹内),然后输入生成应用的命令。

命令执行成功后在 I:workpythonSubOcrdist 文件夹下生成了SubOcr文件夹,里面包含了SubOcr.exe文件。整个SubOcr文件夹就是一个绿色软件,随便移动到任何位置都可运行。

实际上在用pyinstaller命令时会在Python程序的所在路径生成一个后缀为spec的同名文件,然后根据此文件的配置生成应用,这就是PyInstaller的原理。这样做的好处是spec保存了生成应用的配置,每次重新生成应用时可以省略指定参数,尤其是指定了其他的资源、程序库时。我们可以通过以下命令先生成spec文件。

pyi-makespec的命令参数跟pyinstaller的相同,在生成spec文件后可以对其部分选项进行编辑(可以用VS Code或自带的记事本编辑),添加更多参数,然后再用pyinstaller命令生成应用。

spec文件的主要选项:

上面示例的SubOcr用到了opencc和opencv-python,其中opencc下的数据文件和opencv-python下的dll文件在生成应用时不会自动导入(缺少这些文件应用无法正常使用),因此需要在spec文件中指定路径。对spec文件的修改如下:

以上便是PyInstaller打包Python程序的全过程,如果在此过程中遇到问题,可以在评论区留言,定当知无不言,言无不尽。

阅读全文

与打包python整个项目相关的资料

热点内容
编译原理csdn博客 浏览:190
想在深圳买房关注哪个app 浏览:911
国际体验服为什么服务器加载失败 浏览:688
php接口用处 浏览:392
想推广app去哪里找 浏览:258
phpcmysql 浏览:121
安卓手机的百度carlife怎么连接车 浏览:136
编译安装py 浏览:160
pythonchar转int 浏览:218
基于单片机的多组密码锁设计论文 浏览:106
华为云如何升级云服务器 浏览:211
生活垃圾压缩直运站 浏览:749
加密通道加密数据 浏览:820
次肋梁需要加密吗 浏览:744
安徽蚌端口社保卡号用哪个app 浏览:217
php手册下载哪个好 浏览:163
安卓转苹果为什么转不成功 浏览:226
华为荣耀系统编译 浏览:733
看板块app哪个好用 浏览:666
java即时编译结果怎么保存 浏览:911