标签: software-distribution

源代码发布相对于二进制发布的优势?

我现在了解软件的源代码版本和二进制版本之间的主要区别。一个很好的问题在这里

我需要在 Linux 机器上安装 Node.js,并选择了二进制版本,因为它不需要编译/安装。我下载了 tar,解压缩文件,它已经准备好了。

我的问题是,当两种选择都可用时,人们会出于什么原因选择源代码而不是二进制文件?

我唯一能想到的是这个人希望阅读/研究源代码。

software-distribution

9
推荐指数
1
解决办法
289
查看次数

在 App Store 之外分发 Mac 应用程序。我应该怎么签?

我有一个 Mac 应用程序,由于使用 Apple Events 而无法进行沙盒处理,因此无法通过 Mac App Store 发布。

我创建了一个网站,添加了一个支付网关,一切似乎都没有问题,但我不断收到来自测试人员的反馈,他们即使使用鼠标右键方法也无法打开应用程序。首先它是来自 Xcode 的原始应用程序,没有任何形式的签名,之后我尝试在使用我的开发人员证书存档后导出,我什至用 Apple 对该应用程序进行了公证,但仍然有人无法打开该应用程序(即使他们能够在签名前使用它)。

目前我正在使用 Mac App Distribution 证书(无配置文件)。这样对吗?我应该使用“Mac 安装程序”、“Mac 开发人员”、“Apple 开发人员”、“Apple 发行版”……为什么这如此令人困惑?

macos xcode software-distribution

9
推荐指数
1
解决办法
1946
查看次数

如何在 Python3.8 包分发中包含 .yaml

我的目录结构如下:

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 yaml software-distribution setup.py

9
推荐指数
0
解决办法
3519
查看次数

捆绑第三方库以便在Python 3中分发的最佳实践

我正在使用Python开发应用程序3.使用第三方库进行开发过程和最终用户分发的最佳实践是什么?请注意,我正在这些约束中工作:

  • 团队中的开发人员应该具有完全相同的库版本.
  • 理想的解决方案适用于Windows和Linux.
  • 我想在使用我们自己的软件之前避免让用户安装软件; 也就是说,在使用我们的产品之前,他们不应该安装产品A和产品B.

dependencies software-distribution python-3.x

8
推荐指数
1
解决办法
2124
查看次数

在没有Mac Developer会员资格的Mac OS X应用程序中绕过Gatekeeper

脚本

我想发布适用于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

  • Gatekepper不会对DMG文件进行身份验证,只有应用程序本身才会对其进行身份验证.
  • OS X Lion 10.7.5+也有Gatekeeper*生气的脸*

macos software-distribution osx-mountain-lion osx-gatekeeper

8
推荐指数
1
解决办法
2421
查看次数

如何注册网络python包安装的入口点?

我有一个用户环境,其中大多数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)

python software-distribution setuptools

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

对于py2app独立构建,"无法找到Python运行时"

我正在尝试使用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=22
  • appleeventsd[53]: SecTaskLoadEntitlements failed error=22 11/27/16 7:29:19.787 PM
  • sharedfilelistd[307]: SecTaskLoadEntitlements failed error=22

我知道如果py2app使用Python的"系统"版本来生成应用程序,它将不会在分发中包含该Python.但是,进入$终端中的哪个python将我引导到我的anaconda安装,所以这似乎不是问题.

这是我第一次尝试创建一个软件,所以要提前为任何明显的失误道歉.我将非常感谢任何帮助,因为我一整天都在喋喋不休.

python software-distribution py2app

8
推荐指数
0
解决办法
804
查看次数

如何为mac app生成安装程序包?

如何为OSX二进制文件创建单个安装程序包以及少量配置和脚本文件?最终文件夹看起来像这样 -

https://i.stack.imgur.com/bFDcY.png

任何帮助,将不胜感激.谢谢.

macos installer cocoa software-distribution pkg-file

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

Visual Studio 2019 能否将其所需的 DLL 打包到一个小的 .exe 文件中?

我使用Visual Studio 2019用C++ WinAPI做了一个Windows应用程序,完成后,我构建了它,并在我的电脑上执行。它完美地工作。然后我发给了我没有 Visual Studio 的朋友。它说它需要“msvcp140d.dll”“ucrtbased.dll”“vcruntime140_1d.dll”“vcruntime140d.dll”来打开它。

然后我在我的电脑中找到它们,将它们与我的应用程序放在同一个目录中,然后将它们发送给我的朋友。它也工作得很好。

但我的问题是“有没有办法只用 Visual Studio 2019 打包它们?” 包含大量 DLL 的小应用程序有点奇怪。

c dll software-distribution visual-studio

8
推荐指数
1
解决办法
4459
查看次数

Swift Package - 分发带有包的独立可执行文件

我正在编写一个 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)

我的文件夹结构:

文件夹结构

如何分发我的脚本以便它也包含其资源?

bundle software-distribution swift swift-package-manager

8
推荐指数
1
解决办法
387
查看次数