當前位置:首頁 » 編程軟體 » 腳本打包為執行文件

腳本打包為執行文件

發布時間: 2022-10-22 20:48:16

python腳本代碼運行正常,但是使用pyinstaller打包成執行文件後運行提示缺少模塊

個人建議在 windows10 環境下安裝 python3.8 打包
每次打包之前先使用 pip install -U pyinstaller 升級 pyinstaller

linux上怎麼把一堆ruby腳本打包成一個可執行文件

may be you can paste this to your ~/.bashrc file ,

alias exemyfile="ruby myrubyfile.rb"

then enter exemyfile command in your terminal, it works as you want.

㈢ 請問如何將shell寫的腳本轉化成exe格式,並且能在windows 下面運行呢謝謝

你是指Linux shell嗎?應該是可以的。
首先,任何腳本都是靠解釋器解釋執行的,只要你在Windows下提供能夠解釋Linux命令的解釋器,也就OK。Windows下有Cygwin模擬Linux環境,有UnixUtils工具集,所以在Windows上編寫shell腳本是完全可行的。本人就做過。
其次,將編寫完的shell腳本打包為exe格式,這個要靠第三方工具,我沒用過,但我看到別人用過。不記得工具叫什麼了,相信你在網上可以搜到。

㈣ linux系統下,如何將python文件封裝成exe可執行文件

Python程序是標準的文本文件,由Python解釋執行,不可能封裝成可執行文件,只能以文本方式發布,造成不能版權保護,這是Python的一個弱點。

㈤ 如何把python腳本打包成exe

使用py2exe

安裝py2exe
進入python程序所在文件夾

在文件夾下寫一個setup.py的python文件,內容如下
from distutils.core import setup
import py2exe
setup(console=["將要轉換的文件名稱.py"])

打開CMD窗口,將工作目錄切換到python文件所在文件夾,並輸入命令「python setup.py py2exe"

命令成功完成後,進入原python文件的文件夾下可看到新產生了文件夾

進入dist文件夾,裡面的exe就是我們需要的windows程序。

http://jingyan..com/article/67508eb43344829cca1ce4f1.html

㈥ powershell腳本能否編譯為exe後綴的可執行文件

不可以,腳本的執行必須藉助於powershell平台,這個平台很龐大,無法打包。不要指望可以編譯為脫離powershell技術的exe,這個技術難度大,而且拋棄powershell的大量優勢,吃力不討好。樓主為什麼限制100字??

㈦ 如何把Python腳本導出為exe程序

一.pyinstaller簡介
pyinstaller將Python腳本打包成可執行程序,使在沒有Python環境的機器上運行
最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。
可運行在Windows,Mac和Linux操作系統下。
但它不是跨編譯的,也就是說在Windows下用PyInstaller生成的exe只能運行在Windows下,在Linux下生成的只能運行在Linux下。
二.pyinstaller在windows下的安裝
使用命令pip install pyinstaller即可
在windows下,pyinstaller需要PyWin32的支持。當用pip安裝pyinstaller時未找到PyWin32,會自動安裝pypiwin32

出現Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安裝成功
三.打包
打包的app里並不包含任何源碼,但將腳本的.pyc文件打包了。
基本語法:
pyinstaller options myscript.py
常用的可選參數如下:
--onefile 將結果打包成一個可執行文件
--onedir 將所有結果打包到一個文件夾中,該文件夾包括一個可執行文件和可執行文件執行時需要的依賴文件(默認)
--paths=DIR 設置導入路徑
--distpath=DIR 設置將打包的結果文件放置的路徑
--specpath=DIR 設置將spec文件放置的路徑
--windowed 使用windows子系統執行,不會打開命令行(只對windows有效)
--nowindowed 使用控制檯子系統執行(默認)(只對windows有效)
--icon=<FILE.ICO> 將file.ico添加為可執行文件的資源(只對windows有效)
如pyinstaller --paths="D:\Queena" guess_exe.py
四.小實例(windows下)
寫好游戲文件guess_exe.py,代碼如下:
__author__ = 'qa-2'
# -*- coding:utf-8 -*-
# 搖3次骰子,當總數total,3<=total<=10時為小,11<=total<=18為大
import random
import time

def enter_stake(current_money):
'''輸入小於結余的賭資及翻倍率,未考慮輸入type錯誤的情況'''
stake = int(input('How much you wanna bet?(such as 1000):'))
rate = int(input("What multiplier do you want?你想翻幾倍?(such as 2):"))
small_compare = current_money < stake * rate
while small_compare == True:
stake = int(input('You has not so much money ${}!How much you wanna bet?(such as 1000):'.format(stake * rate)))
rate = int(input("What multiplier do you want?你想翻幾倍?(such as 2):"))
small_compare = current_money < stake * rate
return stake,rate

def roll_dice(times = 3):
'''搖骰子'''
print('<<<<<<<<<< Roll The Dice! >>>>>>>>>>')
points_list = []
while times > 0:
number = random.randrange(1,7)
points_list.append(number)
times -= 1
return points_list

def roll_result(total):
'''判斷是大是小'''
is_big = 11 <= total <= 18
is_small = 3 <= total <= 10
if is_small:
return 'Small'
elif is_big:
return 'Big'

def settlement(boo,points_list,current_money,stake = 1000,rate = 1):
'''結余'''
increase = stake * rate
if boo:
current_money += increase
print('The points are ' + str(points_list) + ' .You win!')
print('You gained $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
else:
current_money -= increase
print('The points are ' + str(points_list) + ' .You lose!')
print('You lost $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
return current_money

def sleep_second(seconds=1):
'''休眠'''
time.sleep(seconds)

# 開始游戲
def start_game():
'''開始猜大小的游戲'''
current_money = 1000
print('You have ${} now.'.format(current_money))
sleep_second()
while current_money > 0:
print('<<<<<<<<<<<<<<<<<<<< Game Starts! >>>>>>>>>>>>>>>>>>>>')
your_choice = input('Big or Small: ')
choices = ['Big','Small']
if your_choice in choices:
stake,rate = enter_stake(current_money)
points_list = roll_dice()
total = sum(points_list)
actual_result = roll_result(total)
boo = your_choice == actual_result
current_money = settlement(boo,points_list,current_money,stake,rate)
else:
print('Invalid input!')
else:
sleep_second()
print('Game Over!')
sleep_second(2)

if __name__ == '__main__':
start_game()

之後命令行,切換到guess_exe.py的目錄下,
輸入:
pyinstaller --onefile --nowindowed --icon=" D:\Queena\PyCharmProjects\dist1\computer_three.ico" guess_exe.py

就會在當前文件下形成build文件夾、dist文件夾和.spec文件。
dist里就是guess_exe.exe可執行文件。

如果有打包錯誤,具體看build里的warn*.txt文檔,裡面詳細記載了錯誤的原因。一般都是庫丟失。
spec文件告訴PyInstaller如何去處理腳本。它對腳本名以及大多數pyinstaller的可選參數進行加密。PyInstaller就是通過執行spec文件的內容來build the app。

㈧ python可以編譯成exe程序嗎

PyInstaller的原理簡介

PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指

望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和你的腳本依賴的

庫。在Linux操作系統下,它主要用的binutil工具包裡面的ldd和objmp命令。

PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然後去查找,復制,把所有相關的腳本收集起來,包括Python解析

器,然後把這些文件放在一個目錄下,或者打包進一個可執行文件裡面。

可以直接發布輸出的整個文件夾裡面的文件,或者生成的可執行文件。你只需要告訴用戶,你的應用App是自我包含的,不需要安裝其他

包,或某個版本的Python,就可以直接運行了。

需要注意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運

行,就必須針對該平台進行打包。

pyinstaller將Python腳本打包成可執行程序,使在沒有Python環境的機器上運行

最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。

可運行在Windows,Mac和Linux操作系統下。

但它不是跨編譯的,也就是說在Windows下用PyInstaller生成的exe只能運行在Windows下,在Linux下生成的只能運行在Linux下。

pyinstaller在windows下的安裝

使用命令pip install pyinstaller即可

在windows下,pyinstaller需要PyWin32的支持。當用pip安裝pyinstaller時未找到PyWin32,會自動安裝pypiwin32。

打包

打包的app里並不包含任何源碼,但將腳本的.pyc文件打包了。

基本語法:

pyinstaller options myscript.py

常用的可選參數如下:

--onefile 將結果打包成一個可執行文件

--onedir 將所有結果打包到一個文件夾中,該文件夾包括一個可執行文件和可執行文件執行時需要的依賴文件(默認)

--paths=DIR 設置導入路徑

--distpath=DIR 設置將打包的結果文件放置的路徑

--specpath=DIR 設置將spec文件放置的路徑

--windowed 使用windows子系統執行,不會打開命令行(只對windows有效)

--nowindowed 使用控制檯子系統執行(默認)(只對windows有效)

--icon=<FILE.ICO> 將file.ico添加為可執行文件的資源(只對windows有效

推薦學習《python教程》。

㈨ python怎麼生成可執行文件

Python是一個腳本語言,被解釋器解釋執行。它的發布方式:

  • .py文件:對於開源項目或者源碼沒那麼重要的,直接提供源碼,需要使用者自行安裝Python並且安裝依賴的各種庫。(Python官方的各種安裝包就是這樣做的)

  • .pyc文件:有些公司或個人因為機密或者各種原因,不願意源碼被運行者看到,可以使用pyc文件發布,pyc文件是Python解釋器可以識別的二進制碼,故發布後也是跨平台的,需要使用者安裝相應版本的Python和依賴庫。

  • 可執行文件:對於非碼農用戶或者一些小白用戶,你讓他裝個Python同時還要折騰一堆依賴庫,那簡直是個災難。對於此類用戶,最簡單的方式就是提供一個可執行文件,只需要把用法告訴Ta即可。比較麻煩的是需要針對不同平台需要打包不同的可執行文件(Windows,Linux,Mac,...)。

  • 本文主要就是介紹最後一種方式,.py和.pyc都比較簡單,Python本身就可以搞定。將Python腳本打包成可執行文件有多種方式,本文重點介紹PyInstaller,其它僅作比較和參考。

    Freezing Your Code

    各種打包工具的對比如下(來自文章Freezing Your Code):

    Solution

    Windows

    Linux

    OS X

    Python 3

    License

    One-file mode

    Zipfile import

    Eggs

    pkg_resources support

    bbFreeze yes yes yes no MIT no yes yes yes

    py2exe yes no no yes MIT yes yes no no

    pyInstaller yes yes yes no GPL yes no yes no

    cx_Freeze yes yes yes yes PSF no yes yes no

    py2app no no yes yes MIT no yes yes yes

    PS.其中pyInstaller和cx_Freeze都是不錯的,stackoverflow上也有人建議用cx_Freeze,說是更便捷些。pkg_resources新版的pyInstaller貌似是支持的。

    安裝PyInstaller

    對於那些網路比較穩定,能夠流暢使用pip源地址的用戶,直接下面的命令就可以搞定:

  • pip install pyinstaller

  • 通常我們會下載源碼包,然後進入包目錄,執行下面的命令(需要安裝setuptools):

  • python setup.py install

  • 安裝完後,檢查安裝成功與否:

  • pyinstaller --version

  • 安裝成功後,就可以使用下面的命令了:

  • pyinstaller: 打包可執行文件的主要命令,詳細用法下面會介紹。

  • pyi-archive_viewer: 查看可執行包裡面的文件列表。

  • pyi-bindepend: 查看可執行文件依賴的動態庫(.so或.dll文件)

  • pyi-...: 等等。

  • 使用PyInstaller

    pyinstaller的語法:

  • pyinstaller [options] script [script ...] | specfile

  • 最簡單的用法,在和myscript.py同目錄下執行命令:

  • pyinstaller mycript.py

  • 然後會看到新增加了兩個目錄build和dist,dist下面的文件就是可以發布的可執行文件,對於上面的命令你會發現dist目錄下面有一堆文件,各種都動態庫文件和myscrip可執行文件。有時這樣感覺比較麻煩,需要打包dist下面的所有東西才能發布,萬一丟掉一個動態庫就無法運行了,好在pyInstaller支持單文件模式,只需要執行:

  • pyinstaller -F mycript.py

  • 你會發現dist下面只有一個可執行文件,這個單文件就可以發布了,可以運行在你正在使用的操作系統類似的系統的下面。

    當然,pyinstaller還有各種選項,有通用選項,如-d選項用於debug,了解pyInstaller執行的過程;還有一些針對不同平台的選項,具體用法可以訪問PyInstaller官方WIKI。

    在執行pyInstaller命令的時候,會在和腳本相同目錄下,生成一個.spec文件,該文件會告訴pyinstaller如何處理你的所有腳本,同時包含了命令選項。一般我們不用去理會這個文件,若需要打包數據文件,或者給打包的二進制增加一些Python的運行時選項時...一些高級打包選項時,需要手動編輯.spec文件。可以使用:

  • pyi-makespec options script [script ...]

  • 創建一個.spec文件,對於手動編輯的.spec文件,我們可以使用下面任意一條命令:

  • pyinstaller specfile pyi-build specfile

  • PyInstaller的原理簡介

    PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和你的腳本依賴的庫。在Linux操作系統下,它主要用的binutil工具包裡面的ldd和objmp命令。

    PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然後去查找,復制,把所有相關的腳本收集起來,包括Python解析器,然後把這些文件放在一個目錄下,或者打包進一個可執行文件裡面。

    可以直接發布輸出的整個文件夾裡面的文件,或者生成的可執行文件。你只需要告訴用戶,你的應用App是自我包含的,不需要安裝其他包,或某個版本的Python,就可以直接運行了。

    需要注意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運行,就必須針對該平台進行打包。

熱點內容
sql存儲過程命令 發布:2025-05-16 13:17:54 瀏覽:145
用紙做解壓小玩具西瓜 發布:2025-05-16 13:04:09 瀏覽:935
區域網xp無法訪問win7 發布:2025-05-16 13:03:58 瀏覽:942
油卡如何修改密碼 發布:2025-05-16 13:00:35 瀏覽:901
安卓手機如何拼照片 發布:2025-05-16 12:58:23 瀏覽:374
深入淺出python 發布:2025-05-16 12:56:52 瀏覽:655
國二c語言vc2010怎麼編譯運行 發布:2025-05-16 12:53:49 瀏覽:424
華為熱點哪裡看密碼 發布:2025-05-16 12:53:44 瀏覽:515
新手如何用java寫安卓app 發布:2025-05-16 12:53:07 瀏覽:402
虛榮掛腳本 發布:2025-05-16 12:50:44 瀏覽:480