python编译修复助手
⑴ python生成的exe,反编译成py的工具,大神提供下,感谢
你解开执行文件。如果是单个的文件,则执行它的时候在临时目录里可以找到解开的包。
在解开后的目录中找到pyc文件,然后利用反编译工具就可以将pyc反编译成py文件。
但是有些程序是做了加密的。它们的pyc是它们重新写python编译器后自定义的加密格式,用通常的办法无法解开。 需要在内存里反编译。
-------------
pyc反编译工具有很多
你搜索uncompyle2, decompyle2, DePython, unpyc, uncompyle, pycdc 等
听说python2.7而言, uncompyler是最好用的工具。
⑵ spyder(Python语言的ide)有类似于vs一样的助手吗
Python(x,y)几乎没有用过。不过spyder这样强大的IDE,应该有这个功能。即使没有,也可以在开源社区里找到一个插件弄上去。
不过python的变量提示输入比VS和JAVA差太多了。仅仅能够根据当前脚本中的“单词”进行提示。
因为python是解释执行的。所以没有执行完成,变量是不知道的。而编译型的语言,比如JAVA, CSHARP, C++都可以通过编译的语法解析来获得变量名和函数名。
⑶ Python程序代码混淆、编译、打包、运行(桌面程序防破解向)
像Python这种解释性的语言,要想私有化部署的同时又保护好源码,就像是对于鱼和熊掌的追求。
虽然做不到尽善尽美,但是对代码进行混淆,增加一点破解的难度,或许能规避一些泄露的风险。
本次演示环境:linux
确保要发布的包根目录("demo")中有__main__.py文件,这个是程序执行入口。
编译
批量改名.pyc文件
移动.pyc文件
清理.py文件
清理__pycache__文件夹
打包成zip
运行时只要将zip文件作为参数即可
最终整合脚本
调用方式
对于在变量和函数名上的混淆有点小儿科,而对于跨文件的类名的混淆又太容易实现。
所以对于混淆程度的取舍,要视工程的规模而定。
2.1 混淆工具pyminifier
在原来的工具 pyminifier上修复了几个bug。
安装:
python3 安装
或者clone下来,自行安装
使用例子
2.2 源码变更
不同的配置对于源码的要求不同,以下是笔者踩过的坑。
其他混淆想法
结合混淆、编译和打包,尝试出以下发布脚本。
主要的思路 :创建一个工作目录tmp,然后在此目录下混淆、编译python代码,完成后把内容打包成pyc文件,再将pyc文件和其他配置文件移动到dist,发布dist即可。
混淆的目的是最大程度保护源码,在发布到客户端后不被轻易破解。
⑷ 让人得心应手的Python编辑器有哪些
一款顺手的好的编辑器可以让程序员写代码更得心应手,效率也会更高,但是编辑器本身没有好坏,只有使用者使用起来是否顺手而已,这里简单给大家介绍几款常用的可以编辑Python的软件。
一、终端直接编写
windows系统:Win+r,然后在运行框中输入cmd即可打开终端。MAC系统:可以在Launchpad中直接打开终端。
简单说明(针对上图数字处说明)
1、Python3:说明我们的代码是使用的python3的版本,目前有python2和python3两个版本,毫无疑问python3是比较新的版本也是官方推荐的版本,如果想使用python2的代码的话只需要写python就就行了,不需要加数字2了。
2、版本信息:这一段是写完python3之后自动生成的,主要是介绍一下我们当前的版本
3、编写代码:“>>>”表示当前进入python的编辑页面,print(“hello,Python”)是我们的第一行python代码,一个打印功能的函数,所有语言的学习几乎都是从“hello ,World”或者“hello,XX”开始的。
4、执行结果:“hello,Python”就是我们第三个代码执行的打印结果,这就是我们的第一个python程序。
5、补充说明:这个功能多数仅仅只用于测试一些函数功能等等,很少直接用于开发。
二、vim编辑器
打开vim编辑器,在终端中输入:vim + 文件名的方式。vim表示进入vim编辑器的命令,hello.py表示我创建的一个python文件,而且会把我写的代码保存在hello.py文件中回车执行进入vim界面。
进入vim界面的时候默认是不可以被编辑,如果我们要编辑,需要先按下字母“i”键,才能编写代码。还是写上我们的第一句代码 print(“hello,Python”),这时候我们如果有很多行代码可以一直写下去,当我们把代码写完了,需要退出vim页面,在终端中才能执行我们的代码,所以vim只能编写代码。
那要怎么样才能退出vim编辑页面呢?
按ESC键:下面的–INSERT–就会消失。在按“ :wq ”键,w:表示保存,q:表示退出。然后就可以又回到终端页面了。
退出到终端页面,我们可以用python3+“要执行的python文件”,来执行程序,其中hello,python就是我们执行出来的结果。
三、IDLE
IDLE是 python 程序自带的IDE开发工具,伴随着python的安装自动安装的。IDLE的使用和在终端中使用方法一样,但是多了代码高亮等功能,所以IDLE就不多给大家介绍了。
相关推荐:《Python视频教程》
四、HBuilder
HBuilder是一款主要从事Web开发的软件,支持很多类库,扩展性强,但是比较庞杂冗余
五、Atom
Atom如果需要运行Python程序,需要下载插件,但是Atom下载插件需要FQ,所以相对于小白来说有点复杂了,需要下载atom-python-run或者script插件,具体怎么安装,大家自行网络去吧,我就不多说了。
打开Atom软件,File->New flie 然后创建一个文件以.py结尾即可。
六、sublime Text
Sublime Text功能强悍,但是又不会有太多冗余的功能,界面风格简洁,同时支持Windows/MAC/Linux等操作系统,也是本人比较推荐的一款软件。
打sublime Text选择File -> New file创建一个以.py结尾的文件即可,执行使用control+b
七、PyCharm
PyCharm是一种Python IDE,其扩展功能也很丰富。
打开PyCharm编辑器Create New Project ->选择PurePython
创建好项目后就开始创建文件File -> New File创建一个以.py结尾的文件即可
八、总结
终端:操作简单,多用于功能和函数测试,不适合项目开发。
vim:便捷快速,没有任何多余的冗杂的乱七八糟的功能,可以用于开发。
IDLE:是python自带的编译器,相当于vim的增强版。
HBuilder:是一款功能强大的编译器,插件也非常齐全,但是多用与Web的开发,所以python开发不经常使用。
Atom:和HBuilder一样也是一款插件和功能都非常强大的编译器,但是缺点是运行的文件量大的话会卡顿。
sublime Text:是一款插件齐全,但是又没有太多冗杂的东西,速度快,功能齐全,个人推荐使用。
PyCharm:主要针对于python开发的IDE,所以项目开发也推荐使用。
⑸ python编程语言的集成编译环境哪个好用
1.Pydev+Eclipse–最好的免费pythonIDE
Pydev的是PythonIDE中使用最普遍的,原因很简单,它是免费的,同时还提供很多强大的功能来支持高效的Python编程。Pydev是一个运行在eclipse上的开源插件,它把python带进了eclipse的王国,如果你本来就是是一个eclipse的用户那么Pydev将给你家里一样的感觉。如果还不是,可能“日食”听起来有点吓人,但是值得你一试。
Pydev能高居榜首,得益于这些关键功能,包括Django集成,自动代码补全,多语言支持,集成的Python调试,代码分析,代码模板,智能缩进,括号匹配,错误标记,源代码控制集成,代码折叠,UML编辑和查看,和单元测试整合
Pydev是由AleksTtotic在2004年创建的,现在由FabioZadrozny进行维护。Pydev在社区用户的帮助,以及Liclipse,Squish,TraceTronic等公司/社团的赞助下持续进行更新。
虽然Pydev是最好的开源pythonIDE,但是它也和另一个名为Liclipse的产品一起打包,Liclipse是一个商业产品,同样也构建在eclipse上,提供了易用性改进和额外的主题选项。
除了python,Pydev也支持JythonandIronPython。
你可以在这里下周Pydev——pydev.org/download.html。
想了解更多,请到Pydev官网——pydev.org。
2.PyCharm–最好的商业pythonIDE
PyCharm是来自JetBrains公司的全功能python开发环境。过去的15年里JetBrains一直致力于发展顶级的开发工具,旨在让开发工作变得轻松和愉快。
PyCharm是专业的python集成开发环境,有两个版本。一个是免费的社区版本,另一个是面向企业开发者的更先进的专业版本。PyCharm的普及可以从这一事实来衡量,即有很多大品牌公司用户,像Twitter,Groupon,Spotify,eBay和Telefonica等都在用PyCharm。
大部分的功能在免费版本中都是可用的,包括智能代码补全、直观的项目导航、错误检查和修复、遵循PEP8规范的代码质量检查、智能重构,图形化的调试器和运行器。它还能与IPythonnotebook进行集成,并支持Anaconda及其他的科学计算包,比如matplotlib和NumPy。
PyCharm专业版本支持更多高级的功能,比如远程开发功能、数据库支持以及对web开发框架的支持等等。
我最喜欢PyCharm的原因是因为它支持很多的第三方web开发框架,比如Django、Pyramid、web2py、googleappengine和Flask,这些也使得它成为了一个完整的快速应用集成开发环境。
3.VIM
VIM是一个很先进的文本编辑器,在python开发者社区中很受欢迎。它是一个开源软件并遵循GPL协议,所以你可以免费的使用它。
虽然VIM是最好的文本编辑器,但是它提供的功能不亚于此,经过正确的配置后它可以成为一个全功能的Python开发环境。此外VIM还是一个轻量级的、模块化、快速响应的工具,非常适合那些很牛的程序员——编程从不用鼠标的人。
初始化配置需要花一定时间,因为你需要安装些VIM的插件,并配置让他们正常工作,最后你会发现这一切都是值得努力的。如果你在寻找一个linux系统下的pythonIDE,那么VIM将是你的不二选择。
4.WingIDE
WingIDE是另外一个商业的、面向专业开发人员的python集成开发环境,由wingware公司开发。15年来WingIDE一直都是一个非常成熟的产品,提供了最新的Python编程所需要的各种工具和特性。
WingIDE可以运行在windows、OSX和Linux系统上,支持最新版本的python,包括stacklessPython(python的增强版)。WingIDE分三个版本:免费的基础版,个人版,以及更强大的专业版。
调试功能是WingIDE的一大亮点,包括多线程调试,线程代码调试,自动子进程调试,断点,单步代码调试,代码数据检查等功能,此外还提供了在树莓派上进行远程调试的功能。
在代码管理方面,WingIDE能非常灵活的与Git、subversion、perforce、cvs、Bazaar、Mercurial等工具集成。
此外,WingIDE也支持其他更多的python框架,比如Maya、MotionBbuilder、Zope、PyQt、PySide、pyGTK、PySide、Django、matplotlib等等。
5.SpyderPython
SpyderPython是一个开源的python集成开发环境,非常适合用来进行科学计算方面的python开发。是一个轻量级的软件,是用python开发的,遵循MIT协议,可免费使用。
Spyderpython的基本功能包括多语言编辑器、交互式控制台、文件查看、variableexplorer、文件查找、文件管理等。SpyderIDE也可以运行于windows、Mac或者Linux系统之上。
虽然Spyder是一个独立的集成开发环境,能运行在windows、MacOS、MacOSX、Linux等系统之上。但是它也可以作为PyQT的扩展库,可以嵌入到PyQT的应用中去。
6.KomodoIDE
Komodo是Activestate公司开发的一个跨平台的集成开发环境,支持多种语言包括python。它是商用产品,但是提供了开源的免费版本叫KomodoEdit,能够安装在Mac、Windows和Linux系统上。
全功能的Komodo对教育机构用户是免费的,老师和教授可以将其应用于实验室及教学中。学生也可以通过较低的费用得到Komodo的授权许可。
和大多数的专业pythonIDE一样,Komodo也提供了代码重构,自动补全,调用提示,括号匹配,代码浏览器,代码跳转,图形化调试,多进程调试,多线程调试,断点,代码分析,集成测试单元等功能,并且集成其他的第三方库,比如pyWin32。
最新版本的Komodo提供了更多的功能与PyCharm、Pydev和WingIDE等其他pythonIDE形成了强烈的竞争关系,比如集成包管理器,变化跟踪,markdown浏览器,shellscope,快速书签等。
7.PTVS-BestPythonIDEforWindows
PTVS(PythonToolsforVisualStudio)集成在VisualStudio中,就像Pydev可以集成在eclipse中一样。PTVS将VisualStudio变成了一个强大的、功能丰富的python集成开发环境,并且它是开源的,完全的免费。PTVS发布于2015年,由社区和微软自己在维护。
PTVS支持几乎所有免费版本的VisualStudio,包括如下版本的VS2015和VS20013:
·CommunityEdition
·ExpressforWeb
·ExpressforDesktop
如果你是一个visualstudio用户,毫无疑问PTVS对于你来说是最好的python集成开发环境。
8.EricPython
Eric是一个开源python代码编辑器和集成开发环境,提供了很多高效编程需要的功能。它是纯python编写的,基于QtGUI并集成了强大的Scintilla编辑器功能。
Eric由DetlevOffenbach创建,遵循GPL协议,免费使用。经过多年的开发完善Eric已经成为一个常用的、功能丰富的集成开发环境。它提供了一个可靠的插件管理系统,可以通过插件来扩展功能。
Eric提供了所有的基础功能,比如调用提示、代码折叠、代码高亮、类浏览器、代码覆盖及分析等等。但是Eric的关键功能让它有了与其他商业pythonIDE竞争的能力:
·集成的任务管理
·单元测试支持–已集成
·重构
·正则表达式和Qt对话框核心插件
·可选择的从编辑器中启动第三方应用程序
·应用程序图
·项目管理
·交互式的Pythonshell
·多语言用户界面,包括英语,德语,俄语,法语,捷克语,西班牙语,意大利语,土耳其语和中文。
·以插件的方式集成版本控制工具Subversion,Mercurial和Git
·其他功能。
9.SublimeText3/AnacondaPythonIDE
SublimeText3是目前为止功能最强大的跨平台的、轻量级的代码编辑器。通过添加插件SublimeText3可以成一个全功能的pythonIDE。
Anaconda带给你最强大的功能是代码自动补全和代码检查。当然Anaconda也很注重基础功能如:各种各样的主题,快速响应的用户界面,配置简单,各种强大的功能扩展包。
10.Emacs-PythonEditorcumIDE
Emacs有属于它自己的生态系统,它是一个可扩展的并能高度定制的GNU文本编辑器。它可以配置为一个全功能的免费的python集成开发环境。
Emacs在python开发中很受欢迎,他通过python-mode提供了开箱即用的python。Emacs可以通过额外的扩展包来增加更多的高级功能。
⑹ python代码运行助手有什么用
Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码。原理如下:
在网页输入代码:
点击Run按钮,代码被发送到本机正在运行的Python代码运行助手;
Python代码运行助手将代码保存为临时文件,然后调用Python解释器执行代码;
网页显示代码执行结果:
下载
点击右键,目标另存为:learning.py
备用下载地址:learning.py
运行
在存放learning.py的目录下运行命令:
C:\Users\michael\Downloads> python learning.py
如果看到Ready for Python code on port 39093...表示运行成功,不要关闭命令行窗口,最小化放到后台运行即可:
试试效果
需要支持HTML5的浏览器:
IE >= 9
Firefox
Chrome
Sarafi
⑺ 学python用什么编译器啊,哪位大佬推荐一下
1、CPython
是Python语言规范的参考实现,能够优先获得Python语言的最新、最强的功能,CPython是由C语言编写而成,不但可以从Python代码中调用C代码的函数,还可以直接在Python中使用大量现有的C代码库。
2、Brython
Brython可用于在浏览器中运行包含了Python 3脚本的Web应用。
3、PyPy Python
虽然第一个推荐的是在Python中使用最广泛的编译器,但却不是最快的,PyPy采用的是即时的编译概念,在代码执行前,就直接编译为机器代码,因此其执行速度提高了近4倍。
4、Jython或JPython
使用率第二高,Jython最初被称为JPython,是通过Python语言来实现Java虚拟机的,开发者既可以将现有的Java包和代码库,导入自己的Python程序中,还可以在Java程序中嵌入Python脚本。
5、Cython
Cython与CPython不同,更像是一个超集,允许开发者在代码中结合C和Python,从而生成C语言代码类型的输出,以供任何一种C/C++编译器进行后续编译。
6、Skulpt
流行的速度非常快,主要目的是提供一种良好的在线式Python编译器,也可以通过让Web应用引擎包含Skulpt,以方便开发者编写出被用于前端的Python脚本。
7、PyJS
是另一款完全用Python去开发Web应用的编译工具,在后台,PyJS会在使用内置的Ajax框架之前,将Python代码编译为JavaScript。
8、WinPython
是Python的"即用型"发行版,也就意味着用户无需安装,即可在Windows PC上运行,作为另一种Python的实现,WinPython编译器不仅带来了Python执行环境,而且还包含了诸如:Scipy、Numpy、以及Pandas等各种Python库。
