标签: multiplatform

编程控制python优化?

我一直在玩pyglet.这是很不错的.但是,如果我运行我的代码,这是一个可执行文件(称为game.py),前缀是通常的

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

通过做

./game.py
Run Code Online (Sandbox Code Playgroud)

然后它有点笨重.但是,如果我运行它

python -O ./game.py
Run Code Online (Sandbox Code Playgroud)

要么

PYTHONOPTIMIZE=1 ./game.py
Run Code Online (Sandbox Code Playgroud)

那么它的超顺畅.

我不在乎为什么它在没有优化的情况下运行缓慢; pyglet的文档提到优化禁用了大量的断言以及OpenGL的错误检查,我很高兴将其留在那里.

我的问题是:人们如何分发Python代码以确保最终用户(对调试或修改代码没有兴趣)运行优化版本的代码.当然有一些更好的方法,而不仅仅是告诉人们确保他们在发行说明中使用优化(他们可能无论如何都不会阅读)?

在Linux上,我可以轻松地./game为最终用户提供运行该文件的脚本:

#!/bin/sh
PYTHONOPTIMIZE=1 ./game.py $*
Run Code Online (Sandbox Code Playgroud)

但这不是非常跨平台的.

我有一个想法,我应该能够改变#!线路

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

要么

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

但那些似乎没有按预期工作,我不确定他们在Windows上做了什么.

有没有办法从我不知道的代码中控制优化?就像是:

  import runtime
  runtime.optimize(True)
Run Code Online (Sandbox Code Playgroud)

运送多平台python代码的人在这个领域被认为是最佳实践?

python optimization pyglet multiplatform

5
推荐指数
1
解决办法
833
查看次数

InstallJammer的继任者?

我已经使用InstallJammer一段时间了,但它的开发现已停止.有谁知道它的好继承者?

deployment installer multiplatform

5
推荐指数
1
解决办法
2233
查看次数

为多平台 SWT 应用程序为每个平台构建一个 jar

这个话题已经有几个问题了,但似乎没有一个能正常工作。

以下是它们的列表:

我的要求是构建一个 ant 脚本,为每个平台创建一个 jar,即一个用于 Windows x86,一个用于 Windows x64、Linux x86/x64 等等。

有没有人有任何进一步的见解?

使用上述方法,我无法产生可行的解决方案。它要么以未自动加载 SWT jar 文件或未包含在类路径中而结束。

如果有人能提出一个工作示例(最好包括完整的源代码),那就太好了!

java ant swt jar multiplatform

5
推荐指数
1
解决办法
1110
查看次数

为 Qt 项目的多种架构生成 APK

在 3d 方 APK 文件中,我注意到有不同架构的文件夹 - armv7、arm64、x86、mips - 所以一个 APK 适用于多种架构,Android 支持。

但是,我似乎没有找到用 Qt 项目做到这一点的方法。我有一个针对多个架构的项目,但我一次只能为一个架构生成一个 APK,只能为当前活动的项目工具包生成。

是否有可能为 Qt 项目生成这样的多架构 APK?

qt android multiplatform apk

5
推荐指数
1
解决办法
559
查看次数

R 中的便携式空设备

有没有一种可移植的方法来获取 R 中的空设备?

目前我正在这样做:

dev.null <- ifelse(.Platform$OS.type == "windows", "NUL:", "/dev/null")
Run Code Online (Sandbox Code Playgroud)

稍后我可以例如sink(dev.null)try(..., outFile = dev.null)

然而,这对我来说似乎不太稳健。有更好的方法吗?

null r multiplatform

5
推荐指数
1
解决办法
712
查看次数

如何在nodejs / electron应用程序中触发带有附件的“新电子邮件”窗口

我正在构建电子/角度应用程序,我想在系统配置的邮件客户端中打开新的邮件窗口。

带有预填充字段,例如:

  • 收件人
  • 话题
  • 信息
  • 依恋

(类似于 Windows 上下文菜单中的“发送至 -> 电子邮件收件人”)

并且需要在 Windows/Linux/Mac 上运行。

我的第一个猜测是“mailto:”,但由于安全原因它不支持附件

我宁愿避免使用 nodemailer 或类似工具“安静地”发送电子邮件

相关问题:

Electron:打开默认电子邮件客户端 https://github.com/electron/electron/issues/11802

email attachment multiplatform node.js electron

5
推荐指数
0
解决办法
2188
查看次数

使用 SwiftUI 在 macOS 上阻止 FirebaseApp.configure() 的应用沙盒

我正在为 macOS 和 iOS 编写一个应用程序。

当我开始我的多平台项目时,我决定看看 Firebase SDK 是否适用于 macOS,因为我以前见过这个错误:

tvOS 和 macOS SDK 支持不是 Firebase 官方产品的一部分。相反,他们是社区支持的。详情见https://github.com/firebase/firebase-ios-sdk/blob/master/README.md

我开始配置 Firebase,并且必须创建一个 NSApplicationDelegate 才能在 macOS 上运行:

class AppDelegate: NSObject, NSApplicationDelegate {
    func applicationDidFinishLaunching(_ notification: Notification) {
        FirebaseApp.configure()
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我使用 NSApplicationDelegateAdaptor 将此 AppDelegate 附加到我的 @main 应用程序:

@main
struct SchedulerApp: App {
    @NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

首先用一个简单的打印语句对其进行了测试 - 它奏效了。

然后用 测试它FirebaseApp.configure(),它抛出了一大堆错误。

沙盒不允许访问 com.apple.dnssd.service

dnssd_clientstub ConnectToServer: connect() failed path:/var/run/mDNSResponder Socket:4 Err:-1 …

macos xcode multiplatform firebase swiftui

5
推荐指数
1
解决办法
795
查看次数

强制 docker 在 macOS 上默认使用 linux/amd64 平台

当前的 docker 测试版要求您在--platform=linux/amd64每次需要时指定一个buildrunamd64 图像/容器。

文档提到

当运行具有多架构支持的镜像时,docker 会自动选择与您的操作系统和架构相匹配的镜像变体。

该文档未指定使用 env 变量更改此自动行为的方法。它似乎忽略了 BUILDPLATFORM 和 TARGETPLATFORM。

是否有任何其他方法强制docker运行所有buildrun使用的平台的命令linux/amd64,而不是linux/arm64/v8默认情况下在苹果硅运行MacOS的?

multiplatform docker apple-silicon

5
推荐指数
5
解决办法
2441
查看次数

更喜欢windows或unix行结束代码?

我编写的代码应该在Windows和unix上编译和运行,就像Linux一样.我知道行结尾之间的区别,但问题是我喜欢哪些代码?有关系吗?我希望它是一致的 - 比如说我的所有代码都只使用LF,还是仅仅更好的CRLF?有比较的标准吗?

如果重要的是我关心C++和Python代码

c++ python multiplatform line-endings

4
推荐指数
1
解决办法
1372
查看次数

FireMonkey:如何将下一个控件集中在vkReturn上?

经典的VCL问题 ......但是如何在FireMonkey中做同样的事情

我有几个TControl可以专注的标准......

例如,在某些情况下,TEdit如果按下按钮,我想转到下一个可聚焦控件return key

我尝试了不同的方法,但没有成功(替换密钥,keychar为9时为13,......,将关键事件转发给表单,......)

当然,因为它是FMX,我想要一个适用于所有平台的解决方案......

如果可以避免:

  • 浏览父母的儿童财产,
  • 有不同的代码片段来处理不同的平台
  • 硬编码标签序列
  • ......,它会很棒; o)

delphi multiplatform keyevent firemonkey

4
推荐指数
1
解决办法
9322
查看次数