導航:首頁 > 源碼編譯 > ubuntu上好用的Python編譯器

ubuntu上好用的Python編譯器

發布時間:2023-04-29 07:46:27

⑴ ubuntu下python用什麼軟體

(一)wxpython的安裝
Ubuntu下的安裝,還是比較簡單的。

1234567891011121314

#使用:apt-cache search wxpython 測試一下,可以看到相關信息dizzy@dizzy-pc:~/Python$ apt-cache search wxpythoncain - simulations of chemical reactionscain-examples - simulations of chemical reactionscain-solvers - simulations of chemical reactionsgnumed-client - medical practice management - Client... #這樣的話,直接使用: sudo apt-get install python-wxtools 即可安裝dizzy@dizzy-pc:~/Python$ sudo apt-get install python-wxtools[sudo] password for dizzy:Reading package lists... DoneBuilding dependency tree...

測試是否安裝成功。進入Python,import wx 不報錯,即可

123456

dizzy@dizzy-pc:~/Python$ pythonPython 2.7.3 (default, Apr 20 2012, 22:44:07)[GCC 4.6.3] on linux2Type "help", "right", "credits" or "license" for more information.>>> import wx>>>

(二)顯示出一個窗口

1234567891011121314

#!/usr/bin/python#coding:utf-8 import wx def main(): app = wx.App() win = wx.Frame(None) win.Show() app.MainLoop() if __name__ == '__main__': main()#這便是一個最簡單的可視化窗口的實現

(三)添加可視化組建及簡單布局#coding:utf-8 import wx def main(): app = wx.App() win = wx.Frame(None,title='NotePad',size=(440,320)) #很明顯,title就是標題,size就是大小 bt_open = wx.Button(win,label='open',pos=(275,2),size=(80,30)) bt_save = wx.Button(win,label='save',pos=(355,2),size=(80,30)) #label就是按鈕顯示的標簽,pos是控制項左上角的相對位置,size就是控制項的絕對大小 text_title = wx.TextCtrl(win,pos=(5,2),size=(265,30)) text_content = wx.TextCtrl(win,pos=(5,34),size=(430,276),style=wx.TE_MULTILINE|wx.HSCROLL) #style樣式,wx.TE_MULTILINE使其能夠多行輸入,wx.HSCROOL使其具有水平滾動條 win.Show() app.MainLoop() if __name__ == '__main__': main() #做過桌面軟體開發的,對這個肯定很熟悉。#由於之前學過一點VB,VC,Delphi等,學起來感覺很簡單。#將wx提供的控制項添加到某個Frame上,並進行各自的屬性設置即可完成#由於文本控制項的size屬性,設置的為絕對值。這樣就會有一些問題......

(四)界面布局管理
由於之前的控制項直接綁定在Frame上,這樣會有一些問題。下面將使用Panel面板進行管理。

28293031323334353637383940

## 當然,之前說將各種控制項的位置都寫成絕對位置和大小,會有一些問題。這是不對的## 有時需要動態布局,而有時則需要靜態布局 import wx def main(): #創建App app = wx.App() #創建Frame win = wx.Frame(None,title='NotePad',size=(440,320)) win.Show() #創建Panel panel = wx.Panel(win) #創建open,save按鈕 bt_open = wx.Button(panel,label='open') bt_save = wx.Button(panel,label='save') #創建文本框,文本域 text_filename = wx.TextCtrl(panel) text_contents = wx.TextCtrl(panel,style=wx.TE_MULTILINE|wx.HSCROLL) #添加布局管理器 bsizer_top = wx.BoxSizer() bsizer_top.Add(text_filename,proportion=1,flag=wx.EXPAND) bsizer_top.Add(bt_open,proportion=0,flag=wx.LEFT,border=5) bsizer_top.Add(bt_save,proportion=0,flag=wx.LEFT,border=5) bsizer_all = wx.BoxSizer(wx.VERTICAL) #wx.VERTICAL 橫向分割 bsizer_all.Add(bsizer_top,proportion=0,flag=wx.EXPAND|wx.LEFT,border=5) bsizer_all.Add(text_contents,proportion=1,flag=wx.EXPAND|wx.ALL,border=5) panel.SetSizer(bsizer_all) app.MainLoop() if __name__ == '__main__': main() #這個是動態布局。當然這只是一個視圖而已。#這只是個表面而已,靈魂不在此!

(五)添加控制項的事件處理
直接上代碼。



#!/usr/bin/python#coding:utf-8 import wx def openfile(evt): filepath = text_filename.GetValue() fopen = file(filepath) fcontent = fopen.read() text_contents.SetValue(fcontent) fopen.close() def savefile(evt): filepath = text_filename.GetValue() filecontents = text_contents.GetValue() fopen = file(filepath,'w') fopen.write(filecontents) fopen.close() app = wx.App()#創建Framewin = wx.Frame(None,title='NotePad',size=(440,320))#創建Panelpanel = wx.Panel(win)#創建open,save按鈕bt_open = wx.Button(panel,label='open')bt_open.Bind(wx.EVT_BUTTON,openfile) #添加open按鈕事件綁定,openfile()函數處理bt_save = wx.Button(panel,label='save')bt_save.Bind(wx.EVT_BUTTON,savefile) #添加save按鈕事件綁定,savefile()函數處理#創建文本框,文本域text_filename = wx.TextCtrl(panel)text_contents = wx.TextCtrl(panel,style=wx.TE_MULTILINE|wx.HSCROLL)#添加布局管理器bsizer_top = wx.BoxSizer()bsizer_top.Add(text_filename,proportion=1,flag=wx.EXPAND,border=5)bsizer_top.Add(bt_open,proportion=0,flag=wx.LEFT,border=5)bsizer_top.Add(bt_save,proportion=0,flag=wx.LEFT,border=5) bsizer_all = wx.BoxSizer(wx.VERTICAL)bsizer_all.Add(bsizer_top,proportion=0,flag=wx.EXPAND|wx.LEFT,border=5)bsizer_all.Add(text_contents,proportion=1,flag=wx.EXPAND|wx.ALL,border=5) panel.SetSizer(bsizer_all) win.Show()app.MainLoop() 47,0-1 Bot ######################################################## 打開,保存功能基本實現,但還存在很多bug。 ## 怎麼也算自己的第二個Python小程序吧!! # ###########################################################################

(六)ListCtrl列表控制項的使用示例
ListCtrl這個控制項比較強大,是我比較喜歡使用的控制項之一。
下面是list_report.py中提供的簡單用法:



import wximport sys, glob, randomimport data class DemoFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "wx.ListCtrl in wx.LC_REPORT mode", size=(600,400)) il = wx.ImageList(16,16, True) for name in glob.glob("smicon??.png"): bmp = wx.Bitmap(name, wx.BITMAP_TYPE_PNG) il_max = il.Add(bmp) self.list = wx.ListCtrl(self, -1, style=wx.LC_REPORT) self.list.AssignImageList(il, wx.IMAGE_LIST_SMALL) # Add some columns for col, text in enumerate(data.columns): self.list.InsertColumn(col, text) # add the rows for item in data.rows: index = self.list.InsertStringItem(sys.maxint, item[0]) for col, text in enumerate(item[1:]): self.list.SetStringItem(index, col+1, text) # give each item a random image img = random.randint(0, il_max) self.list.SetItemImage(index, img, img) # set the width of the columns in various ways self.list.SetColumnWidth(0, 120) self.list.SetColumnWidth(1, wx.LIST_AUTOSIZE) self.list.SetColumnWidth(2, wx.LIST_AUTOSIZE) self.list.SetColumnWidth(3, wx.LIST_AUTOSIZE_USEHEADER) app = wx.PySimpleApp()frame = DemoFrame()frame.Show()app.MainLoop()

如何獲取選中的項目?
最常用的方法就是獲取選中的第一項:GetFirstSelected(),這個函數返回一個int,即ListCtrl中的項(Item)的ID。
還有一個方法是:GetNextSelected(itemid),獲取指定的itemid之後的第一個被選中的項,同樣也是返回itemid。

⑵ 在ubuntu上安裝python編輯器

你安裝上去的只是個運行環境,你只需要打開終端,輸入"python"就可以運如型行你的python命令渣塵猜了。

mypc@zhao:~$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> print "Hello world!"兄罩
Hello world!
>>>

⑶ ubuntu16.04怎麼搭建python開發環境

簡述
原來在windows下實現的python code,因為業務需要,要將其放到Ubuntu(其實是Linux)下來進行開發和demo。因此安裝了目前最新的Ubuntu16.04 64bit系統,並搭建帶有GUI的python開發環境。

環境與工具選擇
最終確認選擇「Ubuntu16.04(64 bit)+ Python3.5 + Qt5.7.0 + SIP4.18.1 + PyQt5.7 + QScintilla2.9.2 + Eric6.0 」
首先Ubuntu16.04是默認安裝了python2.7和python3.5的,因此python這部分就可以不需要安裝了。因為涉及GUI的開發,所以要准備pyqt的環境等東西。查看系統python版本:
python
python3
python3.5

另外,需要安裝一個python模塊:
sudo apt-get install python3-dev
否則後面的SIP安裝會有找不到python.h的錯誤提示。

QT安裝
軟體安裝
可以從官網下載,也可以從http://download.qt.io/archive/qt/下載,我下載了5.7.0的Linux 64bit版本,是一個.run文件。

使用上面的兩行命令,進行安裝,此時會彈出安裝對話框:

然後按照提示一步步選擇即可:

安裝完成後,可以直接打開QT Creator:

軟體配置
我的Qt5.7.0安裝在/home/ethan下,這是在前面的安裝步驟時選擇的。而在/home/ethan/Qt5.7.0/5.7/gcc_64/bin/下有qmake。
安裝完成後用下面的命令配置一下PATH,在當前用戶主目錄下的.bashrc (or .zshrc)文件中加入:
export QTDIR=/home/ethan/Qt5.7.0/5.7/gcc_64/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib
export PATH=${QTDIR}/bin:${PATH}
此時再在命令行中輸入qmake,看到如下:

說明配置成功了。
另外需要將/usr/lib/x86_64-linux-gnu/qt4/bin/qmake軟連接到/home/ethan/Qt5.7.0/5.7/gcc_64/bin/qmake上,否則後面在編譯安裝PyQt時可能會出問題:
sudo ln -s /home/ethan/Qt5.7.0/5.7/gcc_64/bin/qmake /usr/lib/x86_64-linux-gnu/qt4/bin/qmake
這里最好把OpenGL的庫也安裝上,不然後面的GUI相關工具的安裝會有問題:
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y

SIP安裝
因為系統介面都是C, C++的而python要調用這些C/C++介面,就需要這個SIP,安裝PyQt之前必須先安裝對應版本的SIP。PyQt編譯時使用的SIP版本必須與python默認調用的SIP保持一致!否則python中是無法調用PyQt的。QT安裝的是當前最新的QT5.7.0,這里SIP最新版本也到了4.18.1,從SIP下載https://riverbankcomputing.com/software/sip/download下載SIP安裝文件,sip-4.18.1.tar.gz。在下載SIP之前,需要確認下自己的系統沒有默認安裝過其他版本,否則容易造成混亂。用
sip -V
可以看到系統的sip版本。不過我的系統並沒有SIP的。
下載的sip-4.18.1.tar.gz是一個源碼包,需要在本地編譯後安裝:
tar -zxvf sip-4.18.1.tar.gz
cd sip-4.18.1
python3 configure.py
sudo make
sudo make install
然後需要核對下當前的SIP版本以及python3中使用的SIP的版本,看兩者是否一致。核對當前SIP版本:
sip -V
會看到是4.18.1
然後命令行中輸入python3,打開python3.5環境,輸入:
>>> import sip
>>> print(sip.SIP_VERSION_STR)
也看到顯示是4.18.1的,這樣就說明SIP版本一致了,安裝OK。

QScintilla安裝
QScintilla2是連接編譯器和Python的介面,是Eric的必需前置組件。QScintilla2 中需要單獨安裝3個模塊,本體,Designer和python bindings。這一步先只安裝本體部分,後面兩個需要等安裝了PyQt5才能安裝,這個順序不能搞錯,不然會在安裝QScintilla的python bindings時會無法生成C++ code,導致安裝的失敗。首先需要從QScintilla下載https://www.riverbankcomputing.com/software/qscintilla/download下載源碼包。下載完成後,對QScintilla_gpl-2.9.3.tar.gz進行解壓
tar -xzvf QScintilla_gpl-2.9.3.tar.gz
cd QScintilla-gpl-2.9.3
安裝本體:
cd Qt4Qt5
qmake qscintilla.pro
sudo make
sudo make install
如果在上面的sudo make時,出現「/usr/bin/ld: cannot find -lGL」問題,可以用如下命令做個軟連接:
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/libGL.so
之後再去sudo make。

PyQT5安裝
PyQt是Python的一個跨平台圖形開發工具集,是Python與Qt的成功融合。PyQt包含了大約440個類、超過6000個的函數和方法。
首先從PyQt5下載https://www.riverbankcomputing.com/software/pyqt/download5下載目前最新版本,PyQt5_gpl-5.7.tar.gz。使用如下命令編譯安裝:
tar -zxvf PyQt-gpl-5.7.tar.gz
cd PyQt-gpl-5.7
python3 configure.py
sudo make
sudo make install
然後使用python3命令進入python環境,輸入:
>>>import PyQt5
此時沒有任何提示,說明安裝沒有問題,PyQt5 mole import OK。

QScintilla安裝後續部分
前面已經安裝了本體Qt4Qt5部分了,這里在安裝完PyQt5後,再繼續安裝後面的兩個部分。

安裝Designer
cd QScintilla-gpl-2.9.3/designer-Qt4Qt5
qmake designer.pro
sudo make
sudo make install
如果在sudo make時,遇到「fatal error: GL/gl.h: No such file or directory」的問題,這是由於系統中沒有安裝OpenGL庫所導致。使用如下命令進行安裝OpenGL庫即可:
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y
安裝後再進行sudo make,就OK了。

安裝Python bindings
cd QScintilla-gpl-2.9.3/Python
python3 configure.py --pyqt=PyQt5
sudo make
sudo make install
這里Python bindings安裝時需要指定 –pyqt=PyQt5參數,否則默認是為PyQt4安裝。或者直接修改其configure.py,將pyqt5_is_default = False改為pyqt5_is_default = True也可。

Eric6安裝
Eric是一款強大的開源Python IDE,支持Qt界面設計器的Eric在Python GUI開發中更是首屈一指,Python+PyQt+Eric已經成為一種標準的Python GUI開發平台。首先從Eric6下載https://sourceforge.net/projects/eric-ide/files/下載安裝包代碼–eric6-6.1.7.tar.gz。然後用如下命令解壓安裝:
tar -zxvf eric6-6.1.7.tar.gz
cd eric6-6.1.7
sudo python3 install.py
此過程會檢測之前安裝的各個軟體及其版本信息,並且很快會安裝完成:

因為是通過sudo python3 install.py來安裝,在打開eric6時也要在前面加上sudo:
sudo eric6
接下來打開eric6界面進行配置,主要是配置eric編輯器功能:
剛打開界面,就提示需要進行配置:

選擇Settings -> preference -> Editor -> Autocompation。勾選所有選框,打開代碼自動完成功能:

選擇Settings -> preference -> Editor -> QScintilla 。勾上左右的兩個選框,然後在下面source中,選擇from Document and API files:

選擇Settings -> preference -> Editor -> APIs。勾選Complie APIs Autocompation,在Language中,選擇python3。點面下面的Add from installed APIs按鈕,選擇住需要的.api文件。最後點擊Compile APIs:

選擇Settings -> preference -> Interface -> Interface。右側Language根據喜好選擇中文或者English,我這里並沒有安裝中文語言包,所以使用默認的English。
接下來選擇自己的工程文檔將要放置的位置:

最後要重啟eric才生效。
接下來用一個小的demo簡單驗證下python開發環境是否搭建OK。
創建一個demo1.py的python源代碼,demo code:
#!/usr/bin/env python
from PyQt5.QtWidgets import (QApplication, QLabel)
import sys
if __name__ == "__main__":
app = QApplication(sys.argv)
label = QLabel("<center>Hello World with PyQt5!</center>")
label.resize(200, 50)
label.show()
sys.exit(app.exec_())
然後在放置demo1.py路徑下,使用如下命令運行該demo:
python3 demo1.py

⑷ Python在Ubuntu中使用什麼編輯器比較好呢

1.如果硬體可以,世銷羨可以用eclipse加搜拍Pydev.
http://www.cnblogs.com/Realh/archive/2010/10/10/1847251.html
2.用Sublime Text也不錯,下面的頁面是windows下的配置,不過Ubuntu下也差不鬥世多。
http://www.cnblogs.com/dolphin0520/archive/2013/04/29/3046237.html

⑸ ubuntu16.04安裝什麼python編輯器

目前最簡單的方法是通過ppa安裝,打開終端,輸入以下命令:
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer
卸載 sublime text 命令:
sudo apt-get remove sublime-text-installer

啟動時按下subl(不是1是L)

還可以用subl test.py 打開指定文件
或者用 subl 目錄 打開一整個罩隱目錄(這個很炫)

如果路徑中含有空格,你必須物鉛廳使用雙引號將路徑括起來:
$ subl "~/Documents/test/my test file.txt"激孫

裝完了以後可以激活它,在Help里輸入license key
—– BEGIN LICENSE —–
Michael Barnes
Single User License
EA7E-821385
8A353C41 872A0D5C DF9B2950 AFF6F667
C458EA6D 8EA3C286 98D1D650 131A97AB
AA919AEC EF20E143 B361B1E7 4C8B7F04
B085E65E 2F5F5360 8

⑹ ubuntu下python開發用什麼工具

ubuntu自帶python和python的編輯器IDLE。你可以在終端輸入 idle 運行IDLE編輯器。寫好代碼按F5就可以運行。

或者可以在終端輸入命令:
python your_code.py

如果你需要用別人已經寫好的包或者代碼,那麼還是學2.6吧,因為很多現有的代碼還沒移植到python3

如果只是自己從頭寫,可以學python3,其實兩者差別不大的

⑺ ubuntu下寫python程序 用什麼軟體

首先你需要知道慎則答,源裡面到底有沒有3.2.2版本的python,如果有的話,直寬慧接刷新源sudo apt-get update,然後更新系統sudo apt-get dist-upgrade(或盯穗者upgrade)就行了。

⑻ Ubuntu 18.04 中使用python

Ubuntu18.04 系統內自帶的Python 是Python3.6。
如果想要安裝Python3.7 可以直接使用 sudo apt install python3.7
過程中有問題的話再解決,然後安裝對應的pip
安裝高版本python 參考

不同的版本對應的pip安裝

報錯

但是提示pip安裝成功,解決辦法

使用3.7建立虛擬環境virtualenv

從Python3.3起,Python支持venv . 但是apt install python3.7時並沒有自動安裝。

需要使用 sudo apt install python3.7-venv將虛擬環境包安裝到3.7版本中。 參考

在上述的虛擬環境中 Python 引入模塊後VsCode出現問題提示 「could not be resolved」 解決方案
1、在 VsCode 設置中搜索:python.analysis.extraPaths
2、設置路徑

⑼ ubuntu默認可以編譯python代碼嗎

可以。ubuntu默認帶Python編譯器,寫好Python文件後可以直接用命令進行編譯困鬥。Ubuntu是一個以桌面應侍滾用為主的Linux操作系統,Ubuntu建基於Debian發行版老尺余和GNOME桌面環境,Ubuntu的目標在於為一般用戶提供一個最新的,也是相當穩定的只使用自由軟體的操作系統。

⑽ Ubuntu 上Python環境搭建之pip

在Windows裡面搭建完Ubuntu20.04版本,自帶了python 3.8,但是裡面沒有任何的包,連pip都要自己安裝。如下:

首先以 root 或者其他 sudo 用戶身份在終端運行下面的命令:

上面的命令將會安裝用來構建 Python 模塊所需要的所有依賴軟體包。

當安裝結束,驗證安裝過程,檢查 pip 版本:

Pip 將會被全局安裝。如果你僅僅想為當前用戶安裝,不要使用 sudo 運行上面的命令。這個腳本還將會安裝 setuptools 和 wheel ,它們允許你安裝源碼版本。

想要查看 pip 命令和選項,輸入:

你可以使用 pip <command> --help 來獲得更多關於指定命令的信息。例如,想要獲得更多關於 install 命令的信息,輸入:

直接用pip安裝包會很慢,建議使用國內清華的源。具體參考 PIP 使用國內鏡像

使用 pip 用 Requirements 文件來安裝軟體包

requirement.txt 是一個文本文件,它包含了運行一個指定 Python 項目所必需的 pip 軟體包和它們蘆衡的版本號。

想要列出所有已陪賀做安裝的 pip 軟體包,使用下面的命令:

想要升級一個已經安拍則裝的軟體包到最新版本,輸入:

想要卸載一個軟體包,運行:

閱讀全文

與ubuntu上好用的Python編譯器相關的資料

熱點內容
華為筆記本電腦怎麼安裝抖音app 瀏覽:410
阿里雲國際版試用的伺服器怎麼搞 瀏覽:893
java正則表達式工具 瀏覽:158
oa伺服器怎麼設置ftp 瀏覽:8
安卓如何安裝obb 瀏覽:440
QQ聊天記錄journal文件夾 瀏覽:118
蘋果公司雲伺服器地址 瀏覽:85
加密記事本手機 瀏覽:437
汽車壓縮機變頻閥 瀏覽:95
域外伺服器是什麼意思 瀏覽:639
大眾點評伺服器怎麼老卡頓 瀏覽:556
javavector與list的區別 瀏覽:316
java初始化類數組 瀏覽:303
java字元串轉換成json對象 瀏覽:648
android非阻塞socket 瀏覽:358
編譯系統概念 瀏覽:452
天眼通app能做什麼 瀏覽:557
魅族手機怎麼加密圖庫 瀏覽:8
rpa編譯器 瀏覽:572
車載雲伺服器記錄 瀏覽:740