为什么我不能为libsass构建wheel,即使它会安装?

2024-10-01 13:44:25 发布

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

当我试图将libsass安装到Ubuntu上的python3.5virtualenv中时,我得到了一个错误:无法构建控制盘,但安装似乎仍然成功。我该怎么做?a)成功构建轮子,以便为新的virtualenvs缓存它;b)让它跳过似乎失败的编译工作?在

下面是一个问题的复制示例:

(libsass_test)$ pip install libsass
Collecting libsass
  Using cached libsass-0.9.3.tar.gz
Collecting six (from libsass)
  Using cached six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: libsass
  Running setup.py bdist_wheel for libsass
  Complete output from command /home/cjohnson/libsass_test/bin/python3.5 -c "import setuptools;__file__='/tmp/pip-build-k8_g3p3v/libsass/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmp4q_j26e6pip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.5
  copying sass.py -> build/lib.linux-x86_64-3.5
  copying sassc.py -> build/lib.linux-x86_64-3.5
  copying sasstests.py -> build/lib.linux-x86_64-3.5
  creating build/lib.linux-x86_64-3.5/sassutils
  copying sassutils/distutils.py -> build/lib.linux-x86_64-3.5/sassutils
  copying sassutils/__init__.py -> build/lib.linux-x86_64-3.5/sassutils
  copying sassutils/builder.py -> build/lib.linux-x86_64-3.5/sassutils
  copying sassutils/wsgi.py -> build/lib.linux-x86_64-3.5/sassutils
  running build_ext
  building '_sass' extension
  creating build/temp.linux-x86_64-3.5
  creating build/temp.linux-x86_64-3.5/libsass
  creating build/temp.linux-x86_64-3.5/libsass/src
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -I./libsass/include -I/usr/include/python3.5m -I/home/cjohnson/libsass_test/include/python3.5m -c pysass.cpp -o build/temp.linux-x86_64-3.5/pysass.o -c -O3 -fPIC -std=c++0x -Wall -Wno-parentheses
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -I./libsass/include -I/usr/include/python3.5m -I/home/cjohnson/libsass_test/include/python3.5m -c libsass/src/functions.cpp -o build/temp.linux-x86_64-3.5/libsass/src/functions.o -c -O3 -fPIC -std=c++0x -Wall -Wno-parentheses

剪掉一些警告…如果有用的话,我可以把整个垃圾堆放在要点中。在

^{pr2}$

Tags: pytestbuildcreatingforincludelinuxlib
1条回答
网友
1楼 · 发布于 2024-10-01 13:44:25

问题是wheel<;0.25.0与python3.5和pip二进制发行版不兼容。在

以下是关于它的问题跟踪者:https://bitbucket.org/pypa/wheel/issues/146/wheel-building-fails-on-cpython-350b3

一个棘手的地方是,在安装任何其他东西之前,需要对wheel进行升级,所以不能在您的要求.txt. 在

(libsass_test)$ pip install  upgrade wheel
Collecting wheel
  Using cached wheel-0.26.0-py2.py3-none-any.whl
Installing collected packages: wheel
  Found existing installation: wheel 0.24.0
    Uninstalling wheel-0.24.0:
      Successfully uninstalled wheel-0.24.0
Successfully installed wheel-0.26.0
(libsass_test)$ pip install libsass
Collecting libsass
  Using cached libsass-0.9.3.tar.gz
Requirement already satisfied (use  upgrade to upgrade): six in ./lib/python3.5/site-packages (from libsass)
Building wheels for collected packages: libsass
  Running setup.py bdist_wheel for libsass
  Stored in directory: /home/cjohnson/.cache/pip/wheels/23/fa/f8/ff89658d6dd1abcd7bc6791f856bb36cc6e578a707f6b41d67
Successfully built libsass
Installing collected packages: libsass
Successfully installed libsass-0.9.3

相关问题 更多 >