導航:首頁 > 編程語言 > 用python3編譯器做街頭霸王

用python3編譯器做街頭霸王

發布時間:2022-04-15 05:20:18

python3.6.3 安裝好了在哪裡編寫程序

終端命令下和python自帶的IDLE都可以,或者你可以安裝第三方編譯器,比如pycharm , sublime text。

終端命令下,輸入python回車即可進入python環境。

利用編譯器的話,找到編譯器圖標,雙擊運行編譯器就行

❷ python目前最好的編譯器是哪個

解決:
顯示亂碼是因為是中文在python 2 中顯示有問題,如果要在python 2 中顯示出來的話,可以用
for temp in movie_name:
print(movie_name)
另外,在python 3 里可以正常列印!

❸ 如何交叉編譯Python到ARM-linux平台

編譯sqlite

先去 http://www.sqlite.org/download.html 下載最新的sqlite源代碼,我這里用的是3.5.6版本的。

我推薦使用amalgamation版本的源代碼,這個代碼只有幾個文件而已,編譯起來方便,而且據說 編譯器好的話,還可能編譯出更高效的代碼。 我下載的是

[plain]
view plain

http://www.sqlite.org/sqlite-amalgamation-3.5.6.tar.gz

先運行以下幾步:

[plain]
view plain

tar zxf sqlite-amalgamation-3.5.6.tar.gz
cd sqlite-3.5.6
./configure --host=arm-linux --prefix=/usr/local/arm/3.3.2 --enable-shared --disable-readline --disable-dynamic-extensions

以上是把sqlite解壓縮,然後做一些配置,這里,我希望sqlite到時候安裝到/usr/local/arm/3.3.2里,要生成動態鏈接庫,不要readline,不要sqlite的動態擴展。

然後編輯Makefile,把CFLAG和CXXFLAG中的-g去掉,我們不用debug sqlite。

接下來就可以編譯和安裝sqlite了:

[plain]
view plain

make
make install

這一步就完成了sqlite的編譯和安裝了。

編譯python

先去http://www.python.org/download/下載最新版本的python源代碼,我這里下載的是:

[plain]
view plain

http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2

先把python解壓縮:

[plain]
view plain

tar jxf Python-2.5.1.tar.bz2
cd Python-2.5.1

編譯pc版本的語法解析器

由於在編譯python的時候,需要先編譯一個叫pgen的程序出來,用於生成語法解析器,所以我們要先生成一個pc版本的pgen:

[plain]
view plain

mkdir build.pc
cd build.pc
../configure
make Parser/pgen

然後ls Parser一下,應該就能看到有pgen了。

修改configure

configure在檢測編譯器的printf是否支持%zd的時候,如果發現是在cross compile,就直接不幹活了。這還了得?

把這一部分的檢測代碼去掉。這段代碼起始於

[plain]
view plain

echo "$as_me:$LINENO: checking for %zd printf() format support" >&5
echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6
if test "$cross_compiling" = yes; then

結束於

[plain]
view plain

cat >>confdefs.h <<\_ACEOF
#define PY_FORMAT_SIZE_T "z"
_ACEOF

else
echo "$as_me: program exited with status $ac_status" >&5
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi

把這兩段以及中間的內容都刪除掉就可以了。

編譯arm版本的python

有了語法解析器,就可以開始編譯arm版本的python了。

[plain]
view plain

mkdir ../build.arm
cd ../build.arm
../configure --prefix=/home/leojay/test/arm-system-working/rootfs --disable-ipv6 --host=arm-linux --enable-shared

先創建一個用於編譯的目錄build.arm,再對python做一些配置,如安裝目錄,不要ipv6,使用arm-linux的編譯器,生成動態鏈接庫。

修改Makefile

之後就要對Makefile做一些修改,把

[plain]
view plain

OPT= -DNDEBUG -g -O3 -Wall -Wstrict-prototypes

一行中,去掉-g,我們不要debug python,-O3改為-O2,空間緊張O2就可以了。



[plain]
view plain

PGEN= Parser/pgen$(EXE)

一行的下面加上

[plain]
view plain

PGEN_HOST= ../build.pc/Parser/pgen$(EXE)

表明我們在HOST上運行的pgen

在要使用PGEN的地方改為PGEN_HOST:

[plain]
view plain

$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)

改為:

[plain]
view plain

$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
-$(PGEN_HOST) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)

修改所有使用新生成的python的地方。

所有如 ./$(BUILDPYTHON) 的地方,都改為python

如:

[plain]
view plain

platform: $(BUILDPYTHON)
$(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform

改為

[plain]
view plain

platform: $(BUILDPYTHON)
$(RUNSHARED) python -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform

這種地方比較多,大家小心修改。

修改setup.py

setup.py負責編譯python的各個擴展模塊。但是,由於python完全沒有考慮cross compile,所以要做一些修改。

PyBuildExt類:

函數的前兩行是把/usr/local加到搜索目錄中,我們的cross compiler一般不會直接安裝在 /usr/local裡面的,所以這兩行去掉:

[plain]
view plain

lib_dirs, inc_dirs的設定中,把中括弧里的那些都去掉。 以下所有模塊都不要:
這個函數在編譯了所有的extension後,會去load這些剛編譯好的extension, 但我們在i686的電腦上顯然不能load,所以要跳過這些操作。 在 build_ext.build_extension(self, ext)後面直接寫一個return,不做load。
for d in ['/usr/local/arm/3.3.2/include']
for d in inc_dirs + sqlite_inc_paths:
ssl, openssl, bdb, dbm, termios, nsl, ncurses, bz2, linuxaudiodev, ossaudiodev, tkinter
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
build_extension函數:
detect_moles函數:
cmath, ctypes, _testcapi, pwd, grp, spwd, mmap, audioop, imageop, rgbimg, readline,

[plain]
view plain

由於python本身的問題,現在ctypes還不能在除i386以外的機器上運行,所以ctypes也去掉 編譯sqlite的地方:

[plain]
view plain

改為:

[plain]
view plain

因為我的sqlite3安裝在這里,如果這里不改的話,setup.py會在我的電腦上找sqlite

main函數:
setup函數調用的時候,把要安裝的scripts那一部分去掉

之後就可以make && make install了。

附上我修改後的 Makefile 和 setup.py 供大家參考

裁減python

python完全安裝後,實在是很大,所以,要把一些肯定用不上的庫去掉。 所以,再附上我的裁減腳本 cleanpy.sh

注意,由於我的python程序都運行在python -OO的參數下,所有的.py和.pyc都不需要, 只要有.pyo就可以了。所以,這個腳本會把所有的.py和.pyc都刪除掉。

大家可以根據自己的需要做調整。

❹ python3程序在pycharm編譯器中可以正常運行,但是在cmd中使用python all_test.py 運行時報錯,請幫忙

找不到模塊嘛
在com 目錄下
新建 __init__.py 文件 裡面內容為空 就好了

❺ Python編寫程序,實現輸入n個整數,輸出最大的,並指出是第幾個數

a=list(eval(input(「請輸入n個整數」)))
b=max(a)
c=len(a)
for i in range(1,c+1):
if a[i-1]==b:
print("最大的數是%d,是第%d個數"%(b,i))

❻ 學python新手用什麼編譯器

Python的編輯器也是眾多的,下面說下幾種:

  1. 提問者使用的是dos的編輯器,這一種當然不舒服;

  2. Python的自帶的有兩種:

    2.1 Shell形式:這一種和dos一樣很糾結,如下圖:


  3. 其他的第三方,比如Eclips+PyDev等;

  4. 個人建議你使用2.2裡面的Edit模式,啟動方法是:

    開始--所有程序--Python--IDLE(PythonGUI)。

❼ 如何使PYTHON3.4.3使用編譯器mingw32

首先,把python.exe加入PATH環境變數。
這個操作方法很容易網路到。加完了重啟,然後在cmd里 任意目錄下,執行:
python --version
應該返回python的版本信息。這時說明配置好了。

然後,再回去試
python setup.py build --compiler=mingw32 install

❽ python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼

1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。

❾ 急求Python3.X的軟體教程網站和可以編譯成*.exe格式的編譯器

用 py2exe 就可以

❿ python調用c語言編譯器

如何讓python調用C和C++代碼

安裝python後,會有一個chm格式的python手冊。要搞明白如何讓python調用C/C++代碼(也就是寫python的 extension),你需要征服手冊中的
<<Extending && embedding>>厚厚的一章。在昨天花了一個小時看地頭暈腦脹,仍然不知道如何寫python的extension後,查閱了一些其他 書籍,最終在<<Python Programming On Win32>>書中找到了教程。
下面記錄一下如何在visual studio 2005中,寫一段C/C++的MessageBox代碼,然後提供後python調用,最後的結果當然是顯示一個MessageBox.
1. 首先要明白的是,所謂的python擴展(也就是你提供給python的c/c++代碼,不一定是c/c++代碼,可以是其他語言寫的代碼)是一個 dll,並且這個dll放在本機python安裝目錄下的DLLs目錄下(譬如我機器上的路徑是:F:\Program Files\Python25\DLLs),假如我們接下來要寫的擴展mole名為mb,python調用的代碼為: import mb
mb.showMsg("Python's really amazing, I kindda love it!")
python怎麼找到我們的mb模塊呢?就是上面說的,我們要生成一個mb.dll,然後拷貝到Dlls目錄下面,為了區別普通的dll和python專用擴展的dll,我們的 mb.dll修改成mb.pyd(python dll)
2. 搭建環境,我們要使用python提供的c頭文件和lib庫來進行擴展的開發。 在vs 2005下點擊菜單 "工具"->"選項", 打開選項對話框,選擇"項目和解決方案->VC++目錄", 然後在右邊"顯示以下內容的目錄"得comboBox上選擇"包含文件」,添加python的include目錄(我的機器上是"F:\Program
Files\Python25\include"),然後選擇庫文件,添加python的libs目錄(我的機器上是"F:\Program Files\Python25\libs")。
既然擴展是一個dll,接下來我們要建立一個「動態鏈接庫」工程,然後開始寫代碼:
#include <python.h> //python.h是包含python一些定義的頭文件,在python的include目錄下 /*
我的python版本是2.5, 因為安裝python後它沒提供debug下的lib庫文件,因此你必須生成release版的dll,
想要生成dll版本的,你要到python官網上自己去下載python源代碼,當然你可以繼續生成release版本的dll,但dll中包含調試信息

閱讀全文

與用python3編譯器做街頭霸王相關的資料

熱點內容
java定義數據類型 瀏覽:874
安卓pdf手寫 瀏覽:427
什麼是app開發者 瀏覽:284
android鬧鍾重啟 瀏覽:101
程序員失職 瀏覽:518
在雲伺服器怎麼改密碼 瀏覽:586
伺服器pb什麼意思 瀏覽:940
51駕駛員的是什麼app 瀏覽:670
php靜態變數銷毀 瀏覽:886
編程買蘋果電腦 瀏覽:760
flac演算法 瀏覽:497
reactnative與android 瀏覽:663
程序員是干什麼的工作好嗎 瀏覽:258
kbuild編譯ko 瀏覽:469
條件編譯的宏 瀏覽:564
韓語編程語言 瀏覽:646
小程序開發如何租用伺服器 瀏覽:80
怎麼把釘釘文件夾保存到手機里 瀏覽:71
兵法pdf 瀏覽:645
app格式化下載不起怎麼辦 瀏覽:36