标签: executable

Python部署和/ usr/bin/env可移植性

在我所有的可执行Python脚本的开头,我把shebang行:

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

我在一个env python产生Python 2.2环境的系统上运行这些脚本.我的脚本很快就会失败,因为我手动检查兼容的Python版本:

if sys.version_info < (2, 4):
    raise ImportError("Cannot run with Python version < 2.4")
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我不想在每个可执行文件上更改shebang行; 但是,我没有机器的管理访问权限来更改结果,env python我不想强制使用特定版本,如:

#!/usr/bin/env python2.4
Run Code Online (Sandbox Code Playgroud)

我想避免这种情况,因为系统可能有比Python 2.4更新的版本,或者可能有Python 2.5但没有Python 2.4.

什么是优雅的解决方案?

[编辑:]我没有具体提出问题 - 我想让用户在没有手动配置的情况下执行脚本(例如路径更改或符号链接~/bin并确保您的PATH ~/bin在Python 2.2路径之前).也许需要一些分发工具来防止手动调整?

python environment executable shebang

13
推荐指数
1
解决办法
4600
查看次数

将html + js转换为exe

我有一个嵌入了Javascript的HTML文件,我想将它转换为独立的exe.

那可能吗?我该怎么做?那里有任何html2exe工具吗?

PS如果你必须问为什么,这是一个非常简单的文本处理实用程序,但某些人希望它(除了我之外的原因)作为桌面应用程序.

html javascript executable

13
推荐指数
3
解决办法
2万
查看次数

如何创建渲染3D场景的4KB Linux二进制文件?

我刚刚了解了4k演示场景比赛.它包括创建一个4KB的可执行文件,它可以呈现一个漂亮的3D场景.引用的演示是为Windows构建的,所以我想知道如何在Linux上创建4KB的OpenGL场景.

一个简单的"你好世界"已经消耗了8KB:

$ cat ex.c
#include <stdio.h>

int main()
{
       printf("Hello world\n");
}
$ gcc -Os ex.c -o ex
$ ls -l ex
-rwxrwxr-x 1 cklein cklein 8374 2012-05-11 13:56 ex
Run Code Online (Sandbox Code Playgroud)

c linux linker executable

13
推荐指数
2
解决办法
2719
查看次数

"未能从共享对象映射段:操作不允许"以及如何调试的可能原因是什么?

我有两个可执行文件,它们都是交叉编译的,可以在Android中运行.我已将两者放在同一目录中的设备上.我已将它们所依赖的所有共享库放在同一目录中,包括ld-linux.so.3.我使用以下命令运行可执行文件:

ld-linux.so.3 --library-path/path/to/libraries executable_name

当作为任何用户运行时,它们都适用于旧版本的Android.如果以root身份运行,两者都可以在最新版本的Android上运行.当以任何用户身份运行时,只有一个可以在最新版本的android上运行.相反,它给出:

无法从共享对象映射段:不允许执行executable_name操作

如何找出不能运行的可执行文件的不同之处?

我在网上看了很多,大多数人都会收到这个错误:

A)没有它们所依赖的库之一或可执行文件本身的执行权限.

要么

B)尝试从作为NOEXEC挂载的目录运行.

这两种情况似乎并非如此.它可以找到所有库,我可以自己加载任何库,看看它依赖于解决的其他东西.此外,我可以从感兴趣的目录运行基本脚本.

较新版本的Android,Jelly Bean,是一个不同的Linux内核版本,我想知道这是否相关.

什么给?我该如何调试?

linker executable android linker-errors dynamic-linking

13
推荐指数
3
解决办法
1万
查看次数

可以在不打开R环境的情况下运行RShiny应用程序吗?

目前我有一个R闪亮的应用程序,运行它我打开RStudio并执行

setwd("C:/Users/Me/Desktop/R/ShinyProject2")
library(shiny)
......
runApp()
Run Code Online (Sandbox Code Playgroud)

从位于我的目录中的R脚本.

我正在将应用程序发送给不知道如何使用R的同事进行审核.

所以我只是想知道......是否有一种简单的方法来编写可直接打开UI的可执行文件,而无需单击打开R studio并执行代码?

executable r shiny

13
推荐指数
4
解决办法
2万
查看次数

如何从目标文件中读取Mach-O头?

过去几天我一直在试验装配,现在了解装配和机器代码之间的关系(在OSX上通过NASM使用x86,阅读英特尔文档).

现在我试图了解链接器如何工作的细节,特别是想要了解Mach-O目标文件的结构,从Mach-O头开始.

我的问题是,你能否将下面的Mach-O标头映射到otool命令输出(显示标题,但它们的格式不同)?

这个问题的一些原因包括:

  • 它将帮助我了解"Mach-O标头结构"上的文档如何在真实世界的目标文件中查看.
  • 它将简化理解的道路,因此我和其他新人不必花费很多时间或几天想知道"他们是指这个还是这个 "类型的东西.如果没有以前的经验,很难将一般的Mach-O文档精神翻译成现实世界中的实际目标文件.

下面我展示了我尝试从真实对象文件解码Mach-O头的示例和过程.在下面的描述中,我试图显示出现的所有小/微妙问题的提示.希望这将提供一种对新手如此混淆的感觉.


例

从一个名为的基本C文件开始example.c:

#include <stdio.h>

int
main() {
  printf("hello world");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

用gcc example.c -o example.out它编译,它给出:

cffa edfe 0700 0001 0300 0080 0200 0000
1000 0000 1005 0000 8500 2000 0000 0000
1900 0000 4800 0000 5f5f 5041 4745 5a45
524f 0000 0000 0000 0000 0000 0000 0000
0000 0000 0100 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 …
Run Code Online (Sandbox Code Playgroud)

c macos executable

13
推荐指数
1
解决办法
6184
查看次数

Pyqt4-pyqtgraph应用程序以递归方式打开自身的新实例

我为我的项目分叉了BMDanalyse并对其进行了修改.

安装说明,以防您需要帮助.实际问题如下.

由于内存要求,需要64位系统.请确保您拥有64位Python 2.7.

以下设置说明适用于Windows或Ubuntu 上的Pycharm,但您希望在Windows上运行它,因为我的问题是制作.exe:

需要以下包.别忘了选择64位的.在提供链接的情况下,您不能简单地通过Pycharm安装软件包.

打开BMDanalyse项目后,您应该可以运行SPCanalyse.py以启动应用程序.它有bug,是一个非常早期的原型.下载以下示例数据以确保其按预期工作.

如果按顺序执行,以下内容应该有效.您当然可以检查IDE的控制台以了解应用程序正在执行的操作(尚未添加进度条)

  1. 单击文件,加载图像,加载两个图像.点击"对齐".在应用程序执行其操作后,名为的文件aligned.raw应出现在"下载"文件夹中
  2. 加载alignment.raw图像.'alignment.raw'将出现在右侧列表中.单击alignment.raw.单击ROI,添加ROI - >多边形.绘制两个多边形,如下图所示: 在此输入图像描述 获得投资回报率后,单击"分析" - >"投资回报率分析".ROI.raw应该出现在您的下载文件夹中.
  3. 加载ROI.raw.单击它.单击时间过滤器.一段时间后dfoverf0_avg_framesIncl.raw应该出现在您的下载文件夹中
  4. 加载dfoverf0_avg_framesIncl.raw.单击它.屏幕应该变黑.如果它们仍在那里,请删除ROI.现在点击黑色场景中的随机位置.你看到的是种子像素相关图

如果所有这4个步骤都正常工作,那么应用程序就可以按照预期在您的系


实际问题

但是,现在它正在工作,我需要一个独立的.exe这个应用程序,没有任何依赖只是为了向我的主管显示它可以完成.

如果我python SPCanalyse.py在项目中使用我的主脚本,它会运行,我的应用程序会弹出.

更新:我的笔记本电脑被盗了.然而,在一个干净的系统上设置一切我遇到了不同的问题.我能想到的唯一一件不同的主要事情就是我不依赖于Continuum分析中的Anaconda进行包管理.

如果我pyinstaller SPCanalyse.py在我的主脚本上使用,我会得到.exe,如果我运行.exe,我首先注意到我的图标丢失了.其次,这发生了:

在此输入图像描述

当我按下对齐按钮(即通过设置中的步骤1)时,应用程序冻结(即没有响应),然后重复打开自身的新的等级.我假设这是与内存相关的,因为此操作确实需要大量的内存.如果我看一下应用程序占用了多少内存(仅查看原始的"无响应"实例),我每次都看到它的平均值为1,180.8MB.考虑到所有其他正在运行的进程,尽管我仍然只使用了32%内存的28%.我已经尝试将应用程序的优先级设置为高到无效.我也尝试通过命令提示符打开,看看我是否收到任何有用的错误消息.可悲的是没有.

请注意,步骤2-3按预期工作!单击黑色场景后,步骤4将产生相同的递归开放循环.

我想我找到了这里发生的事情的解释:https: //github.com/rdicosmo/parmap

当然,如果您碰巧有开放频道,文件或其他只应由父进程使用的连接,您的程序可能会以非常奇怪的方式运行:例如,在调用之前不要打开图形窗口Parmap原语,如果您的程序是多线程的,请不要使用此库!

因此我很确定我使用parmap非常错误.我仍然困惑为什么我的应用程序工作,如果我通过我的IDE运行我!

旧的未解决的问题,现在是我的小偷的问题

pyinstaller SPCanalyse.py当我尝试运行生成的.exe时,如果我在我的主脚本上使用以下输出

D:\Home\Downloads\BMDanalyse\BMDanalyse>D:\Home\Downloads\BMDanalyse\BMDanalyse\
dist\SPCanalyse\SPCanalyse.exe
Traceback …
Run Code Online (Sandbox Code Playgroud)

executable pyinstaller pyqt4 python-2.7 pyqtgraph

13
推荐指数
1
解决办法
518
查看次数

可执行文件中常见字符串的含义?

似乎有一些类似的长字母数字字符串,通常出现在Mach-O 64位可执行文件和ELF 64位LSB可执行文件以及其他不是字母数字的符号中:

cat /bin/bash | grep -c "AWAVAUATSH"
Run Code Online (Sandbox Code Playgroud)

有181个结果,和

cat /usr/bin/gzip | grep -c "AWAVAUATSH"
Run Code Online (Sandbox Code Playgroud)

有9个结果.

在此输入图像描述

这些字符串是什么?

macos executable elf binary-data mach

13
推荐指数
1
解决办法
2111
查看次数

ES6 模块如何在 Node 中作为脚本运行?

ES6 模块如何在 Node 中作为脚本运行?

当我尝试这个shebang时,我收到一个错误:

#!/usr/bin/env node --experimental-modules
Run Code Online (Sandbox Code Playgroud)

/usr/bin/env: 'node --experimental-modules': 没有那个文件或目录

如果我使用这个shebang,它有语法错误(当然):

#!/usr/bin/env node
Run Code Online (Sandbox Code Playgroud)

语法错误:意外的令牌导入

我正在使用的解决方法是使用 shell 脚本来调用模块:

#!/usr/bin/env sh

BASEDIR=$( dirname "$0" )
node --experimental-modules $BASEDIR/script.mjs "$@"
Run Code Online (Sandbox Code Playgroud)

是否可以在没有第二个文件的情况下使其工作?

executable shebang node.js es6-modules

13
推荐指数
3
解决办法
1927
查看次数

使用Python和React.js的单个可执行文件

我有两个申请

  • react.js + node.js app.
  • 独立的python应用程序

    我需要合并这两个应用程序并将此单个应用程序分发为单个可执行文件/二进制文 我理解我需要摆脱node.js并使用python作为我的后端,并将调用从react-node更改为react-python.对于后者我需要携带可能是Flask.

    对于包装,我可以使用PyInstaller或cx_freeze.

    任何指针是什么是进行此合并并创建单个可执行文件/二进制文件的最佳方法,以便最终的工作流程应如下所示:

    1)用户获取单个可执行文件/二进制文件

    2)运行/执行可执行文件/二进制文件

    3)这会激活可以在浏览器上访问的应用程序

    4)用户将能够从UI(React)向后端(Python)发送请求

    所以基本上单个可执行文件/二进制文件有python env,python后端和react(UI)代码.

python executable python-3.x reactjs

13
推荐指数
1
解决办法
722
查看次数