鱼C论坛

 找回密码
 立即注册
查看: 2263|回复: 18

python防反编译出错问题,关于VC++【急急急!!!】

[复制链接]
发表于 2019-6-28 15:54:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 18820206886 于 2019-6-28 15:57 编辑

各位大佬,此帖真诚求助,已倒弄一天无法解决。

首先就是我用pyinstaller 把源代码封装成了一个单一的exe小工具。
然后呢,我就突然想防止用户对这个小工具进行反编译出来得到源码。

所以用cython 的这条命令python build_pyd.py build_ext --inplace 把py文件编译成pyd文件。 然后进行正常的打包就可以。


问题就出错在运行上面那条命令就会报错,报错语句为:error: Unable to find vcvarsall.bat

网上各种查无非是vc++ 和vs版本的问题,然后各种试,怎么都解决不了,直接求助大佬,
有没有解决过此类问题的经验。。

环境:win10  , python3.7.3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-6-28 15:57:20 | 显示全部楼层
报错语句为:error: Unable to find vcvarsall.bat
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-28 16:07:41 | 显示全部楼层
18820206886 发表于 2019-6-28 15:57
报错语句为:error: Unable to find vcvarsall.bat

是的,它报错的意思就是需要VC编译器,你看报错需要的什么版本的编译器然后安装对应的VS版本就好了。

名称                         内部版本
Visual Studio 2008      9
Visual Studio 2010      10
Visual Studio 2012      11
Visual Studio 2013        12
Visual Studio 2015        14
Visual Studio 2017        15
Visual Studio 2019        16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-28 16:22:52 | 显示全部楼层
"vcvarsall.bat" 是设置 VC 命令行编译环境的批处理命令,属于 VC 自带,只要安装 VC 2008 及以上版本都会有。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-28 16:44:32 | 显示全部楼层
newu 发表于 2019-6-28 16:07
是的,它报错的意思就是需要VC编译器,你看报错需要的什么版本的编译器然后安装对应的VS版本就好了。

...

没用,我安装了各种版本都试过,就是无法解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-28 16:45:30 | 显示全部楼层
jackz007 发表于 2019-6-28 16:22
"vcvarsall.bat" 是设置 VC 命令行编译环境的批处理命令,属于 VC 自带,只要安装 VC 2008 及以上版本都会 ...

我直接安装的最新的VS2019 ,里面自带VC++2015--2019,保证是环境都有了,估计就是引用需要怎么修改下。现在就是没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-28 16:50:25 | 显示全部楼层
本帖最后由 newu 于 2019-6-28 16:55 编辑
18820206886 发表于 2019-6-28 16:44
没用,我安装了各种版本都试过,就是无法解决


安装好之后配置下你的环境变量,重启命令提示符:
配置系统环境变量 VS90COMNTOOLS指向 %VS你的版本COMNTOOLS%

里面的VS90也要根据具体的版本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-28 17:23:03 | 显示全部楼层
newu 发表于 2019-6-28 16:50
安装好之后配置下你的环境变量,重启命令提示符:
配置系统环境变量 VS90COMNTOOLS指向 %VS你的版本CO ...

Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32

这是我的python版本信息,我已经无力再试了,麻烦大佬能抽空的时候给我看看到底应该下哪个版本,怎么配置环境吗,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-28 17:28:15 | 显示全部楼层
18820206886 发表于 2019-6-28 17:23
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32

这 ...

我靠,你这个版本我也懵了,v.1916就是 VC 13.16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-28 20:43:33 | 显示全部楼层
呃,我在python社区搜到这个问题的解决,在python3.5以上应该已经解决了依赖vcvarsall.bat 的问题
https://bugs.python.org/issue30687
所以应该是配置一下环境变量就可以解决了,如果有多个版本的VS应该卸载掉,就用一个就好了,问题里面好像用的是2017
如果不行这里有一篇python 2.7的解决方案,他是直接下载Microsoft Visual C++ Compiler for Python 2.7这个解决的,不过在微软的更新中我没有搜到对python3的下载文件,只能帮你到这了http://yshblog.com/blog/117
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-3 17:24:56 | 显示全部楼层
newu 发表于 2019-6-28 17:28
我靠,你这个版本我也懵了,v.1916就是 VC 13.16

对啊,python3.7.3最新版本都没有哪里指明具体的VC++或者VS版本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-3 17:26:23 | 显示全部楼层
RIXO 发表于 2019-6-28 20:43
呃,我在python社区搜到这个问题的解决,在python3.5以上应该已经解决了依赖vcvarsall.bat 的问题
https:/ ...

python2.7我知道的,微软有专门给2.7出一个vc++ Compiler for Python 2.7的文件,问题我现在的程序代码就是python3写的,不可能用python去编译,很可能出现问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-3 17:26:47 | 显示全部楼层
18820206886 发表于 2019-7-3 17:24
对啊,python3.7.3最新版本都没有哪里指明具体的VC++或者VS版本

现在怎么解决了
难道降低一下版本不成。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-3 17:31:24 | 显示全部楼层
RIXO 发表于 2019-6-28 20:43
呃,我在python社区搜到这个问题的解决,在python3.5以上应该已经解决了依赖vcvarsall.bat 的问题
https:/ ...

环境变量真的不好配,看过无数的帖子,基本感觉都是个死问题,windows系统环境就是坑。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-3 17:59:49 | 显示全部楼层
newu 发表于 2019-7-3 17:26
现在怎么解决了
难道降低一下版本不成。。

没有解决,暂时就不去做py转pyd操作了。 我在想服务器中centos系统,是不是能在服务器中做这种操作呢,要不就用mac系统试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-3 18:47:03 | 显示全部楼层
18820206886 发表于 2019-7-3 17:59
没有解决,暂时就不去做py转pyd操作了。 我在想服务器中centos系统,是不是能在服务器中做这种操作呢,要 ...

不知道了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-4 20:21:46 | 显示全部楼层

做了测试,centos系统中转不了pyd,Cython编译出来的事 .so文件。 而且pyinstaller打包出来的不是exe文件,所以想靠服务器解决是没戏了。   在windows 2008r2 服务器中也测试了,同样存在vc vs环境问题。


从追求到放弃!!!  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-4 20:24:53 From FishC Mobile | 显示全部楼层
18820206886 发表于 2019-7-4 20:21
做了测试,centos系统中转不了pyd,Cython编译出来的事 .so文件。 而且pyinstaller打包出来的不是exe文件 ...

根本就没有必要的东东,不想开源,没人强迫你使用python
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-5 11:34:46 | 显示全部楼层
wp231957 发表于 2019-7-4 20:24
根本就没有必要的东东,不想开源,没人强迫你使用python

第一,你这辈子做python,连转pyd都不会,你以后能说你是会python吗?
第二,你以后公司做了各种程序,给用户用,但是公司要求保密代码,你去跟老板说,老板你是猪,不想开源,还开公司??????????

第三,你现在做的任何项目的代码,做完就发布代码到网上,任何大喊:大家快来看啊,这是我公司的游戏项目代码、这是我公司的商城代码、这是我公司的小程序代码?????

无意反驳你,只是我想研究个东西,当然我现在已经解决了这个问题。  希望你这辈子做的项目都别考虑代码加密,要不然天打雷劈!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 22:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表