我已经在Python 3中编写了一个程序,它依靠Python 2.7中的另一个程序来执行一些核心任务。 它可以在gnunux上无缝工作,因为大多数发行版已经安装了2.7,我只需要Python 3,而且都很好。
但是现在我想将软件包移植到Windows,而我不知道如何pipe理这个。 我有以下问题
大多数Windows没有安装Python,从不提及2.7和3系列。
脚本使用subprocess.call subprocess.call(... shell=True)调用各种实用程序(可执行文件,Python 2.7和3脚本),并依靠Python脚本使用正确的版本 。 据我所知,在Windows上无法模拟这种行为。
我使用dynamic导入来实现某种插件行为,这可能不是最好的devise,但如果我现在不想重构这个
我有我使用的所有东西的源代码,一切都在libre许可证,所以我没有编译到PE或2.7脚本移植到3的问题,但这将是一个单调乏味的工作。 我目前find的唯一解决scheme是将所有内容移植到Python 3.你能想到另一个吗?
是否有C或C ++的高级形状绘制API?
将Cordova应用程序从Windows 10部署到Windows Phone 8.1设备
顶层窗口最小化时,popup窗口无法接收焦点
VS2013debugging器不能再parsing包含源代码path的系统环境variables
我在哪里可以得到用于Windows预编译的PHP的MongoDB PHP驱动程序?
我如何开始使用Cygwin进行C#开发?
在Windows通用应用程序中使用StatusBar
Herokulogin错误。 “没有这样的文件或目录(LoadError)”
PhoneGap错误:EPERM:操作不允许(Windows 10)
最近用于Windows的Python启动器 (另请参阅PEP 397 )可用于模拟shebang /版本行为。 但是,如果你想这样做,Python的不同版本必须安装在系统当然(和启动器,以及注册为.py文件的默认应用程序)
像PyInstaller和py2exe这样的工具可以动态地绑定导入的模块,而不是单独发现它们,你必须自己指定它们。 我认为你使用这些工具的问题在于,它们不能同时使用不同版本的Python来创建应用程序。
所以我想你还是要求在目标系统上安装python 2.7和python 3,或者为2.7和3的脚本创建单独的exe文件,然后改变你的子进程调用来调用它们。 (你可以用自己的python安装,而不是使用标准的系统范围的python安装,但是你仍然需要改变你的子进程调用,而不是依靠windows默认的应用程序来扩展文件)
如何使用PyInstaller? 从来没有用过,但是:
PyInstaller是一个在Windows,Linux和Mac OS X下将Python程序转换(打包)为独立可执行文件的程序。
http://www.pyinstaller.org/
所以你可以将你的程序转换成可执行文件,然后从另一个里面调用一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。