GVKun编程网logo

python UPX is not available问题如何解决(python unsupportedoperation)

4

在这篇文章中,我们将为您详细介绍pythonUPXisnotavailable问题如何解决的内容,并且讨论关于pythonunsupportedoperation的相关问题。此外,我们还会涉及一些关于

在这篇文章中,我们将为您详细介绍python UPX is not available问题如何解决的内容,并且讨论关于python unsupportedoperation的相关问题。此外,我们还会涉及一些关于!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?、Android NDK UPX 加固、calico/node is not ready: BIRD is not ready: BGP not established、Css 伪类 input:not(disabled)not:[type="submit"]:focus的知识,以帮助您更全面地了解这个主题。

本文目录一览:

python UPX is not available问题如何解决(python unsupportedoperation)

python UPX is not available问题如何解决(python unsupportedoperation)

1. 报错

python UPX is not available问题如何解决

2. 错误原因

由于 pyinstaller 打包使用的是 UPX,打包时没找到这个应用,导致的报错!

3. 解决办法一

访问 UPX 官网下载:https://upx.github.io,【我使用的是Window 64版本】,所以下载的是win64的压缩包!

python UPX is not available问题如何解决

解压压缩包,获取upx.exe

python UPX is not available问题如何解决

立即学习“Python免费学习笔记(深入)”;

将 upx.exe 复制到 pyinstaller 安装目录下。【我的pyinstaller安装目录:D:\Python\Scripts】

python UPX is not available问题如何解决

python UPX is not available问题如何解决

最后再次执行打包命令

pyinstaller -F app.py

python UPX is not available问题如何解决

4. 解决办法二 【卸载pyinstaller】

1

pip uninstall pyinstaller

登录后复制

2.【重新安装pyinstaller】

1

pip install pyinstaller

登录后复制

5. 解决办法三

注意报错:script ‘H:\python 3.7 开发的小工具\python 3.7 批量将base64转图片\app.py’ not found

python UPX is not available问题如何解决

由于我的程序名称是 base64_to_png.py,我在打包得时候名称输入错误【app.py】,导致得【UPX is not available.】错误!!!直接将 app.py 替换为 base64_to_png.py!

注意:打包输入你自己编写得.py程序名称,打包输入你自己编写得.py程序名称,打包输入你自己编写得.py程序名称!!!重要低级错误,提醒自己,一早上就因为这个错误,去搞各种安装升级。细心啊!!!

以上就是python UPX is not available问题如何解决的详细内容,更多请关注php中文网其它相关文章!

!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?

!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?

如果您在此处的jQueryinArray页面上阅读了注释,则会有一个有趣的声明:

!!~jQuery.inArray(elm, arr)

现在,我相信双感叹号会将结果转换为typeboolean,其值为true。我不明白的是,~在所有这些操作中,tilde()运算符的用途是什么?

var arr = ["one", "two", "three"];if (jQuery.inArray("one", arr) > -1) { alert("Found"); }

重构if语句:

if (!!~jQuery.inArray("one", arr)) { alert("Found"); }

分解:

jQuery.inArray("one", arr)     // 0~jQuery.inArray("one", arr)    // -1 (why?)!~jQuery.inArray("one", arr)   // false!!~jQuery.inArray("one", arr)  // true

我还注意到,如果将波浪号放在前面,结果是-2

~!!~jQuery.inArray("one", arr) // -2

我不明白这里的波浪符号的目的。有人可以解释一下还是将我指向资源?

答案1

小编典典

波浪号运算符实际上根本不是jQuery的一部分-在JavaScript本身中是按位NOT运算符。

参见 The Great Mystery of the Tilde(~).

您在实验中得到了奇怪的数字,因为您正在对整数执行按位逻辑运算(就我所知,整数可能存储为二进制补码或类似的数字…)

_二进制补码_说明了如何用二进制表示数字。我想我是对的。

答案2

小编典典

!!~expr评估false何时expr-1否则true。与相同expr != -1,只有断线*

之所以有效,是因为JavaScript按位运算将操作数转换为二进制补码形式的32位有符号整数。因此!!~-1评估如下:

   -1 = 1111 1111 1111 1111 1111 1111 1111 1111b // two''s complement representation of -1  ~-1 = 0000 0000 0000 0000 0000 0000 0000 0000b // ~ is bitwise not (invert all bits)   !0 = true                                     // ! is logical not (true for falsy)!true = false                                    // duh

以外的值-1将至少一位设置为零;否则为0。反转它会产生一个真实的价值;将!运算符两次应用于真实值会返回布尔值true。

当与一起使用时.indexOf(),我们只想检查结果是否为-1

!!~"abc".indexOf("d") // indexOf() returns -1, the expression evaluates to false!!~"abc".indexOf("a") // indexOf() returns  0, the expression evaluates to true!!~"abc".indexOf("b") // indexOf() returns  1, the expression evaluates to true
  • !!~8589934591评估为假,因此厌恶无法可靠地用于测试-1

答案3

小编典典

您有时会~在前面看到一个特定的原因$.inArray

基本上,

~$.inArray("foo", bar)

是一种较短的方法

$.inArray("foo", bar) !== -1

$.inArray如果找到第一个参数,则返回数组中该项的索引,如果找不到第一个参数,则返回-1。这意味着,如果要查找“此值在数组中吗?”的布尔值,则不能进行布尔值比较,因为-1是真实值,并且$ .inArray返回0(虚假值) ),则表示其实际位于数组的第一个元素中。

应用~按位运算符导致-1变为0,并使0变为-1。因此,在数组中找不到该值并应用按位NOT不会得出虚假的值(0),其他所有值将返回非0的数字,并表示真实结果。

if (~$.inArray("foo", ["foo",2,3])) {    // Will run}

并且它将按预期工作。

Android NDK UPX 加固

Android NDK UPX 加固

准备编译环境:

1、zlib-1.2.8.tar.gz
2、ucl-1.03.tar.gz
3、lzma443.tar.bz2
4、upx-hg-d9e7cb4b5485.tar.gz  https://www.pysol.org:4443/hg/upx.hg

编译 UPX 设置环境变量:

export UPX_UCLDIR=/usr/local/android/upx/ucl-1.03
export UPX_ZLIBDIR=/usr/local/android/upx/zlib-1.2.8
export UPX_LZMADIR=/usr/local/android/upx/lzma
export UPX_LZMA_VERSION=0x443
export UPX_DIR=/usr/local/android/upx/upx-hg-d9e7cb4b5485

提示几点:

1、upx 使用上面给的链接下载,这个版本修复了加固 SO 后无法在手机上运行的错误

2、编译时提示找不到 libz 库,需要在 UPXDIR/src/MakeFile 中添加

INCLUDES += -I$(UPX_ZLIBDIR)
LIBS += $(addprefix -L,$(dir $(wildcard $(UPX_ZLIBDIR)/libz$(libext))))

最后在 UPX 根目录使用 make all 编译,编译完成后会在 src 目录下生成 upx.out

准备 JNI 环境

使用编译好的 Upx.out 将 jni 生成的.so 文件加固后放入 APK 中即可在手机上运行起来。

加固语法:

$./upx.out -f -o libjin_upx.so libjni.so
.....
packed 1 file.


calico/node is not ready: BIRD is not ready: BGP not established

calico/node is not ready: BIRD is not ready: BGP not established

calico/node is not ready: BIRD is not ready: BGP not established

Css 伪类 input:not(disabled)not:[type=

Css 伪类 input:not(disabled)not:[type="submit"]:focus

我想为输入元素应用一些 css,我只想对未禁用且不是提交类型的输入执行此操作,下面的 css 不起作用,也许有人可以解释我必须如何添加它。

input:not(disabled)not:[type="submit"]:focus{box-shadow:0 0 2px 0 #0066FF;-webkit-box-shadow:0 0 4px 0 #66A3FF;}

答案1

小编典典

代替:

input:not(disabled)not:[type="submit"]:focus {}

利用:

input:not([disabled]):not([type="submit"]):focus {}

disabled是一个属性,因此它需要括号,并且您似乎在:not()选择器上混淆了/缺少冒号和括号。

演示:http: //jsfiddle.net/HSKPx/

需要注意的一件事:我可能错了,但我不认为disabled输入通常可以接收焦点,因此该部分可能是多余的。

或者,使用:enabled

input:enabled:not([type="submit"]):focus { /* styles here */ }

同样,我想不出禁用输入可以接收焦点的情况,因此似乎没有必要。

今天关于python UPX is not available问题如何解决python unsupportedoperation的介绍到此结束,谢谢您的阅读,有关!!〜(not not tilde/bang bang tilde)如何改变“contains/included” Array方法调用的结果?、Android NDK UPX 加固、calico/node is not ready: BIRD is not ready: BGP not established、Css 伪类 input:not(disabled)not:[type="submit"]:focus等更多相关知识的信息可以在本站进行查询。

本文标签: