导航:首页 > 编程语言 > 用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编译器做街头霸王相关的资料

热点内容
车来了app如何解绑银行卡 浏览:226
安卓手机桌面上的文件夹怎么删 浏览:270
三星空调压缩机不工作 浏览:209
仿闲鱼APP源码JAVA 浏览:738
便签怎么加密荣耀 浏览:349
信捷文本编程软件下载 浏览:229
路由器端口开启命令 浏览:946
vi上一个命令 浏览:431
pdf语音朗读器 浏览:556
程序员笔试选择题 浏览:786
如何制作竖文件夹 浏览:451
旧冻库压缩机值多少钱 浏览:40
资源站源码怎么转成 浏览:10
java中的乘法 浏览:267
分数的乘除运算法则 浏览:651
java8lambda 浏览:494
90安卓系统怎么锁app 浏览:551
北大青鸟职业学校编程怎么样 浏览:605
linux的permgenspace 浏览:713
服务器如何批量离线打补丁 浏览:276