Conda 包,纯粹但有入口点

问题描述

noarch conda recipe 在 Windows 上构建时似乎不起作用,因为入口点获得了一个带有 .exe 扩展名的包装器。这让 conda-build 抱怨,结果包不再是 no-arch。这在某种程度上是有道理的,但同样不适用于 Linux 系统,我猜是因为缺少扩展名。

我想知道,如果

  1. 是否仍有可能构建包含入口点的 noarch-package
  2. 是否有一种解决方法可以在没有扩展的情况下创建包装器?

包装看起来像这样

[options.entry_points]
console_scripts = 
   foo = bar:main

因此在 Windows 上的最终包中将包含一个 foo.exe

使用 conda-build 构建会导致如下错误

Packaging foo
...
[noarch_python] Noarch package contains binary script: foo.exe

解决方法

https://github.com/conda/conda-build/issues/2627

在 conda 配方中定义与 setup.py/cfg 中相同的入口点时,问题解决了。这以某种方式创建了一个跨平台的包装器。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...