我们目前正在运行我们自己的私有PyPi服务器,并上传内部Python库的轮子以加快安装速度。
我们的许多工具都需要numpy,scipy,pandas等。
我们通过从源安装所有依赖项,然后使用
为所有依赖项构建了轮子pip wheel .
为我们所有的依赖项输出轮子 - 或者我们认为。
我们发现,当我们从我们的私人PyPi安装Numpy时,它可以作为一个轮子使用,会发生以下情况。
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "redacted/lib/python2.7/site-packages/numpy/__init__.py", line 199, in <module>
from . import random
File "redacted/site-packages/numpy/random/__init__.py", line 99, in <module>
from .mtrand import *
ImportError: redacted/lib/python2.7/site-packages/numpy/random/mtrand.so: undefined symbol: PyFPE_jbuf
我很清楚这些轮子没有正确创造。我不清楚的是如何解决这个问题。我们不会将这些内容分发给公众,仅用于我们的内部工具。
答案 0 :(得分:0)
我远不是轮式包装方面的专家,但到目前为止,这是我对车轮制造的了解。
对于OS X和Windows,您可以构建二进制轮并使用它来部署您的软件。
在Linux上,这个过程并不总是有效,因为许多二进制轮将尝试使用特定版本的OS库(.so),这些版本不同于一个分发到另一个,甚至在同一个分发中。
以下是一些进一步的参考: