【问题标题】:Install python package on Synology DiskStation在 Synology DiskStation 上安装 python 包
【发布时间】:2020-05-31 02:14:39
【问题描述】:

tldr: 无法通过 pip3 或 python 3 -m pip install 在我的 Synology DiskStation 上安装 python-docx 和 lxml。

加长版: 我已经在安装 pip3 和 django 时遇到了一些问题,但是我让它工作了。现在我想在 django 中创建 doc 文件。因此,推荐使用 python-docx。但是我不能只说“pip3 install python-docx”。

[这里我删除了旧的输出,因为它不再有效。]

我不知道下一步该做什么。我也尝试安装 libxml2:

python3 -m pip install libxml2
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement libxml2 (from versions: none)
ERROR: No matching distribution found for libxml2

我用谷歌搜索,但许多网站只是推荐如何在 debian 上安装某些开发包,这对我没有帮助。

你能告诉我如何进行吗?

编辑 在阅读了几个小时并尝试了不同的东西(包括安装 entware)之后,我现在的输出略有不同。

python3 -m pip install python-docx
Defaulting to user installation because normal site-packages is not writeable
Processing /volume1/homes/admin/.cache/pip/wheels/5c/b3/f7/0b2150abcd02387566859213e86c490e38070d0aad388c1105/python_docx-0.8.10-py3-none-any.whl
Collecting lxml>=2.3.2
  Using cached lxml-4.5.0.tar.gz (4.5 MB)
Building wheels for collected packages: lxml
  Building wheel for lxml (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9_1bbtke/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9_1bbtke/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-h4ugg_2s
       cwd: /tmp/pip-install-9_1bbtke/lxml/
  Complete output (91 lines):
  Building lxml version 4.5.0.
  Building without Cython.
  ERROR: b'/bin/sh: xslt-config: command not found\n'
  ** make sure the development packages of libxml2 and libxslt are installed **

  Using build configuration of libxslt
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.5
  creating build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/doctestcompare.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/pyclasslookup.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/cssselect.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/usedoctest.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/__init__.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/ElementInclude.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/builder.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/_elementpath.py -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/sax.py -> build/lib.linux-armv7l-3.5/lxml
  creating build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/__init__.py -> build/lib.linux-armv7l-3.5/lxml/includes
  creating build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/defs.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/formfill.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/_diffcommand.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/_html5builder.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/soupparser.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/clean.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/_setmixin.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/usedoctest.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/__init__.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/builder.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/html5parser.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/ElementSoup.py -> build/lib.linux-armv7l-3.5/lxml/html
  copying src/lxml/html/diff.py -> build/lib.linux-armv7l-3.5/lxml/html
  creating build/lib.linux-armv7l-3.5/lxml/isoschematron
  copying src/lxml/isoschematron/__init__.py -> build/lib.linux-armv7l-3.5/lxml/isoschematron
  copying src/lxml/etree.h -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/etree_api.h -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/lxml.etree.h -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/lxml.etree_api.h -> build/lib.linux-armv7l-3.5/lxml
  copying src/lxml/includes/schematron.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/c14n.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/relaxng.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/xpath.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/tree.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/xslt.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/uri.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/__init__.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/config.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/xinclude.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/lxml-version.h -> build/lib.linux-armv7l-3.5/lxml/includes
  copying src/lxml/includes/etree_defs.h -> build/lib.linux-armv7l-3.5/lxml/includes
  creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources
  creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/rng
  copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/rng
  creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl
  copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl
  copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl
  creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  running build_ext
  building 'lxml.etree' extension
  creating build/temp.linux-armv7l-3.5
  creating build/temp.linux-armv7l-3.5/src
  creating build/temp.linux-armv7l-3.5/src/lxml
  /opt/bin/gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DSYNO_FIX_FLAG_BUG -DOPENSSL_NO_SSL3 -DOPENSSL_NO_SSL2 -mhard-float -mfpu=vfpv3-d16 -march=armv7-a -mcpu=marvell-pj4 -mtune=marvell-pj4 -DSYNOPLAT_F_ARMV7 -O2 -fno-diagnostics-show-caret -Wno-unused-local-typedefs -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=32 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -DSDK_VER_MIN_REQUIRED=600 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc/lxml/includes -I/volume1/@appstore/py3k/usr/local/include/python3.5m -c src/lxml/etree.c -o build/temp.linux-armv7l-3.5/src/lxml/etree.o -w
  gcc: error trying to exec 'as': execvp: No such file or directory
  cc1: fatal error: /usr/syno/include/platformconfig.h: No such file or directory
  compilation terminated.
  Compile failed: command '/opt/bin/gcc' failed with exit status 1
  creating tmp
  cc -I/usr/include/libxml2 -c /tmp/xmlXPathInit_wqm9l9k.c -o tmp/xmlXPathInit_wqm9l9k.o
  unable to execute 'cc': No such file or directory
  *********************************************************************************
  Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
  *********************************************************************************
  error: command '/opt/bin/gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for lxml
  Running setup.py clean for lxml
Failed to build lxml
Installing collected packages: lxml, python-docx
    Running setup.py install for lxml ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9_1bbtke/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9_1bbtke/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-_uhfue_j/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /var/services/homes/admin/.local/include/python3.5m/lxml
         cwd: /tmp/pip-install-9_1bbtke/lxml/
    Complete output (90 lines):
    Building lxml version 4.5.0.
    Building without Cython.
    ERROR: b'/bin/sh: xslt-config: command not found\n'
    ** make sure the development packages of libxml2 and libxslt are installed **

    Using build configuration of libxslt
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-3.5
    creating build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/doctestcompare.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/pyclasslookup.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/cssselect.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/usedoctest.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/__init__.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/ElementInclude.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/builder.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/_elementpath.py -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/sax.py -> build/lib.linux-armv7l-3.5/lxml
    creating build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/__init__.py -> build/lib.linux-armv7l-3.5/lxml/includes
    creating build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/defs.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/formfill.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/_diffcommand.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/_html5builder.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/soupparser.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/clean.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/_setmixin.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/usedoctest.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/__init__.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/builder.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/html5parser.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/ElementSoup.py -> build/lib.linux-armv7l-3.5/lxml/html
    copying src/lxml/html/diff.py -> build/lib.linux-armv7l-3.5/lxml/html
    creating build/lib.linux-armv7l-3.5/lxml/isoschematron
    copying src/lxml/isoschematron/__init__.py -> build/lib.linux-armv7l-3.5/lxml/isoschematron
    copying src/lxml/etree.h -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/etree_api.h -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/lxml.etree.h -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/lxml.etree_api.h -> build/lib.linux-armv7l-3.5/lxml
    copying src/lxml/includes/schematron.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/c14n.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/relaxng.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/xpath.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/tree.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/xslt.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/uri.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/__init__.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/config.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/xinclude.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/lxml-version.h -> build/lib.linux-armv7l-3.5/lxml/includes
    copying src/lxml/includes/etree_defs.h -> build/lib.linux-armv7l-3.5/lxml/includes
    creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources
    creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/rng
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/rng
    creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl
    creating build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-armv7l-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    running build_ext
    building 'lxml.etree' extension
    creating build/temp.linux-armv7l-3.5
    creating build/temp.linux-armv7l-3.5/src
    creating build/temp.linux-armv7l-3.5/src/lxml
    /opt/bin/gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DSYNO_FIX_FLAG_BUG -DOPENSSL_NO_SSL3 -DOPENSSL_NO_SSL2 -mhard-float -mfpu=vfpv3-d16 -march=armv7-a -mcpu=marvell-pj4 -mtune=marvell-pj4 -DSYNOPLAT_F_ARMV7 -O2 -fno-diagnostics-show-caret -Wno-unused-local-typedefs -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=32 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -DSDK_VER_MIN_REQUIRED=600 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc/lxml/includes -I/volume1/@appstore/py3k/usr/local/include/python3.5m -c src/lxml/etree.c -o build/temp.linux-armv7l-3.5/src/lxml/etree.o -w
    gcc: error trying to exec 'as': execvp: No such file or directory
    cc1: fatal error: /usr/syno/include/platformconfig.h: No such file or directory
    compilation terminated.
    Compile failed: command '/opt/bin/gcc' failed with exit status 1
    cc -I/usr/include/libxml2 -c /tmp/xmlXPathInit31sc0ump.c -o tmp/xmlXPathInit31sc0ump.o
    unable to execute 'cc': No such file or directory
    *********************************************************************************
    Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
    *********************************************************************************
    error: command '/opt/bin/gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9_1bbtke/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9_1bbtke/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-_uhfue_j/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /var/services/homes/admin/.local/include/python3.5m/lxml Check the logs for full command output.

如果我认为这是正确的,那么所谓的“CC”就有问题。但我还是不知道该怎么办。

【问题讨论】:

  • libxml2libxslt 不是 Python 包,您不能使用 pip 安装它们。它们是用 C 编写的库,lxml 是它们的 Python 包装器。使用系统包管理器安装它们(包括开发包)。或者从源代码自己编译。
  • 谢谢,这已经是一个开始。我现在已经根据github.com/Entware/Entware/wiki/Install-on-Synology-NAS 安装了entware,因为否则我不知道如何安装libxml2。有了这个,我安装了 libxml 和 python3-lxml。这似乎工作正常。但遗憾的是 pip install 仍然无法正常工作。输出还是和上面一样。
  • 我猜这是重要的部分:“无法执行 '/usr/local/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ccache-gcc': 否这样的文件或目录编译失败:命令'/usr/local/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ccache-gcc'失败,退出状态为1“但我不知道该怎么办接着就,随即。 :(
  • 你需要一个编译器(也许还有其他开发工具——链接器、make 等)gcc 是编译器。
  • 是的,我通过 opkg 安装了 gcc。仍然存在问题(请参阅上面的更新输出)。

标签: pip installation lxml python-3.5 synology


【解决方案1】:

我可能已经找到了解决方案。但我仍然需要测试它。在此期间,您不必回答。

通过 opkg 我可以安装一些软件包,并且我还安装了新的 python3。让我有些困惑。所以现在我有一个我从不想要的 Synology 的 2.7 和一个来自 Synology 软件包中心的 3.5,显然还有一个来自 opkg 的更新。

但是,我可以安装一些软件包,但不能安装其他软件包。例如,如果 python-docx 无法运行,我尝试安装 reportlab 作为生成 PDF 的一种方式。但我也无法安装 reportlab,因为它似乎错过了 libjpeg-dev 之类的东西。而且我在 opkg 存储库中也找不到这个。但是,突然可以安装 python-docx,我现在正在使用它。

很抱歉,我无法为可能遇到相同问题的其他人提供更好的描述,但至少我尝试让我的步骤易于理解。

最好的问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 2019-10-19
    • 2015-09-25
    相关资源
    最近更新 更多