導航:首頁 > 編程語言 > 打包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整個項目相關的資料

熱點內容
單片機水塔水位控制 瀏覽:441
51單片機如何燒 瀏覽:91
android鬧鍾流程 瀏覽:125
javamap放map 瀏覽:257
送人頭命令 瀏覽:605
我的世界第一次玩的伺服器找不到了怎麼辦 瀏覽:382
三菱離心壓縮機 瀏覽:544
蘋果下載app不了怎麼辦 瀏覽:262
linux基本命令手冊 瀏覽:332
matlab中funm命令 瀏覽:558
java動態驗證碼 瀏覽:466
玩原神老是斷開伺服器怎麼辦 瀏覽:603
pdf格式轉換epub 瀏覽:563
口哨的命令 瀏覽:781
基礎梁和次梁連接處需要加密嗎 瀏覽:599
單片機小燈閃爍 瀏覽:645
php判斷數組類型 瀏覽:853
與演算法的時間復雜度有關的是 瀏覽:60
孤膽車神數據怎麼解壓 瀏覽:520
有哪幾家雲計算的有自己的伺服器 瀏覽:136