使用Conda构建的Cython Python程序

2024-09-30 20:37:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用“conda build fibtestpackage”命令构建一个包。在

“fibtestpackage”是使用Cython构建的,因此在.sh文件中我有以下命令:

Python设置.py构建扩展--就地

即使构建成功结束,并且输出如预期:


正在获取包。。。 1.0.0 0 100%的| ##时间:0:00:00 3.03 MB/s

正在提取包。。。[全篇][全篇][全篇][全篇]的效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率100%

正在链接包。。。 [全篇][全篇][全篇][全篇]的效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率、效率100%


我在YAML文件中的一个测试失败了。我唯一的测试是这样的:


test:
  # Python imports
  imports:
      - fibtestpackage
      #- numpy
      #- samplers

因此,这是一个导入错误

ImportError:没有名为fibtestpackage的模块

我对为什么有importerror的第一个猜测是因为构建生成的.SO、.C和.PYX文件(以及库的其他文件)没有被放入其他模块所在的anaconda/lib/python2.7/site-packages/文件夹中。我需要在shell文件中指定它还是应该由“python”覆盖设置.py构建扩展--inplace“命令?在

我的第二个猜测是发行版中有两个不同版本的conda(更新后)

1)Python 2.7.8 | Anaconda 2.1.0(64位)(默认值,2014年8月21日,18:22:21)

2)Python 2.7.8 | Continuum Analytics,Inc.|(默认值,2014年8月21日,18:22:21)

这会导致问题吗?也许生成环境在错误的库中安装了库?在

提前感谢您的帮助!在


Tags: 模块文件py命令build链接sh错误
1条回答
网友
1楼 · 发布于 2024-09-30 20:37:28

Conda build创建一个构建Conda环境,称为_build(通常在~/anaconda/envs/\u build中),您应该在其中安装所有内容。对于Python,如果在梅塔亚姆因为python将安装在_build环境中,并将安装在那里。在

在构建结束时,conda build会将构建环境中的所有新文件打包,并从中创建conda包。如果存在测试阶段,它将删除_build环境并创建一个名为_test的测试环境,并在那里安装和运行包。在

要调试此问题,请尝试在~/anaconda/envs/\u测试中运行Python。在

在您的例子中,问题可能是python setup.py build_ext inplace实际上并没有安装这些文件,它只是构建它们。在构建结束时检查它显示有多少个文件。如果有0,那么这就是问题所在。在

相关问题 更多 >