我现在了解软件的源代码版本和二进制版本之间的主要区别。一个很好的问题在这里。
我需要在 Linux 机器上安装 Node.js,并选择了二进制版本,因为它不需要编译/安装。我下载了 tar,解压缩文件,它已经准备好了。
我的问题是,当两种选择都可用时,人们会出于什么原因选择源代码而不是二进制文件?
我唯一能想到的是这个人希望阅读/研究源代码。
我有一个 Mac 应用程序,由于使用 Apple Events 而无法进行沙盒处理,因此无法通过 Mac App Store 发布。
我创建了一个网站,添加了一个支付网关,一切似乎都没有问题,但我不断收到来自测试人员的反馈,他们即使使用鼠标右键方法也无法打开应用程序。首先它是来自 Xcode 的原始应用程序,没有任何形式的签名,之后我尝试在使用我的开发人员证书存档后导出,我什至用 Apple 对该应用程序进行了公证,但仍然有人无法打开该应用程序(即使他们能够在签名前使用它)。
目前我正在使用 Mac App Distribution 证书(无配置文件)。这样对吗?我应该使用“Mac 安装程序”、“Mac 开发人员”、“Apple 开发人员”、“Apple 发行版”……为什么这如此令人困惑?
我的目录结构如下:
global_toolkit/
- setup.py
- MANIFEST.in
...
- global_toolkit/
- main.py
- protocol.yaml
...
Run Code Online (Sandbox Code Playgroud)
该软件包使用 pypi-server 托管,然后由使用 pip 的服务安装。protocol.yaml 不在发行版中:
[Errno 2] No such file or directory: '/app/.heroku/python/lib/python3.8/site-packages/global_toolkit/protocol.yaml'
Run Code Online (Sandbox Code Playgroud)
我的 MAINFEST.in (我在不同的教程上看到了不同的格式。我都尝试过......)
include global_toolkit/*.yaml
include *.yaml
recursive-include global_toolkit *
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用 setup.py:
files = ["global_toolkit/*"]
setuptools.setup(
...
packages=['global_toolkit'],
package_data = {'global_toolkit': files},
...
Run Code Online (Sandbox Code Playgroud)
很难弄清楚什么在这里不起作用。帮助表示赞赏。
我正在使用Python开发应用程序3.使用第三方库进行开发过程和最终用户分发的最佳实践是什么?请注意,我正在这些约束中工作:
脚本
我想发布适用于Mac OS X的应用程序,但不是在AppStore上.该应用程序运行在10.6 - 10.8及以上.
问题
Apple要求开发人员签署Mac OS X 10.8+的所有应用程序以通过Gatekeeper.除非我告诉每个用户暂时禁用并重新启用我的应用程序的网守,根据此文档和Mountain Lion更改日志...我的应用程序将不被允许运行.
根据Apple网站上的措辞,听起来我必须每年支付99.00美元的证书.但是,我不想支付99美元 - 我不会发布到AppStore!
题
有没有什么办法可以在10.8+上支付99美元的费用?我知道我的应用程序将在10.6上运行和10.7,但根据Apple的说法,如果没有证书,将不允许在10.8上运行.真的吗?如果没有99美元的分发证书,我如何分发10.8+(最好是DMG)?提前致谢!
编辑#1
macos software-distribution osx-mountain-lion osx-gatekeeper
我有一个用户环境,其中大多数python包安装在网络共享上,并通过PYTHONPATH环境变量提供.Python本身仍然在本地安装.其中一些软件包需要注册setuptools 入口点.通常,这可以通过运行setup.py包的文件来实现,但由于这些安装在网络位置,因此setup.py永远不会使用本地安装的python运行.
有没有办法注册入口点而不在本地python安装中安装包?
注册插件系统回调的入口点示例
setup(
...
entry_points={
'xx_plugin': ['value = package.module:func'],
}
)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用py2app将我编写的简短Python程序转换为OS X的易于分发的应用程序文件.我是通过py2app教程完成的,但当我点击我的应用程序文件时,会显示以下对话框:
找不到Python运行时.您可能需要安装Python的框架版本,或者在此应用程序的Info.plist文件中编辑PyRuntimeLocations数组.这是我第一次构建一个软件,为任何明显的失误道歉.
我不确定这是否有用,但从该对话框中单击"打开控制台"会显示以下错误:
LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist launchservicesd[83]: SecTaskLoadEntitlements failed error=22appleeventsd[53]: SecTaskLoadEntitlements failed error=22 11/27/16 7:29:19.787 PMsharedfilelistd[307]: SecTaskLoadEntitlements failed error=22我知道如果py2app使用Python的"系统"版本来生成应用程序,它将不会在分发中包含该Python.但是,进入$终端中的哪个python将我引导到我的anaconda安装,所以这似乎不是问题.
这是我第一次尝试创建一个软件,所以要提前为任何明显的失误道歉.我将非常感谢任何帮助,因为我一整天都在喋喋不休.
我使用Visual Studio 2019用C++ WinAPI做了一个Windows应用程序,完成后,我构建了它,并在我的电脑上执行。它完美地工作。然后我发给了我没有 Visual Studio 的朋友。它说它需要“msvcp140d.dll”“ucrtbased.dll”“vcruntime140_1d.dll”“vcruntime140d.dll”来打开它。
然后我在我的电脑中找到它们,将它们与我的应用程序放在同一个目录中,然后将它们发送给我的朋友。它也工作得很好。
但我的问题是“有没有办法只用 Visual Studio 2019 打包它们?” 包含大量 DLL 的小应用程序有点奇怪。
我正在编写一个 Swift 脚本作为一个独立的 Swift 包。这个脚本的一部分需要生成一些文件,我有模板。
现在,这些模板不可编译(它们是 HTML 文件);所以为了将它们包含在包中,我将它们包含为.copy("Templates").
在调试我的脚本时,我可以很好地访问模板,但是当我尝试归档产品时,可执行文件无法再访问它们。
这是我的 Package.swift:
let package = Package(
name: "flucs",
products: [
.executable(name: "Flucs",
targets: ["flucs"])
],
dependencies: [
.package(url: "https://github.com/MrSkwiggs/Netswift", .exact(.init(0, 3, 1))),
],
targets: [
.target(
name: "flucs",
dependencies: ["Netswift"],
path: "Sources",
resources: [
.copy("Templates")
]),
.testTarget(
name: "flucsTests",
dependencies: ["flucs"]),
]
)
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构:
如何分发我的脚本以便它也包含其资源?