无法使用pip安装bpy包

3

问题描述: 在VS Code中,运行命令pip install bpy(如https://pypi.org/project/bpy/所示),会得到以下错误信息:

PS C:\Users\(...)\Local\Programs\Python\Python38> pip install bpy
Collecting bpy
  Using cached bpy-0.0.0a0.tar.gz (19 kB)
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\(...)\local\programs\python\python38\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\(...)\\Local\\Temp\\pip-install-xln6pb4c\\bpy\\setup.py'"'"'; __file__='"'"'C:\\Users\\(...)\\Local\\Temp\\pip-install-xln6pb4c\\bpy\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\(...)\Local\Temp\pip-pip-egg-info-0pdk7e9q'
         cwd: C:\Users\(...)\Local\Temp\pip-install-xln6pb4c\bpy\
    Complete output (16 lines):
    Traceback (most recent call last):
      File "c:\users\(...)\local\programs\python\python38\lib\tokenize.py", line 342, in find_cookie
        codec = lookup(encoding)
    LookupError: unknown encoding: future_fstrings
    During handling of the above exception, another exception occurred:
      File "<string>", line 1, in <module>
      File "c:\users\(...)\local\programs\python\python38\lib\tokenize.py", line 394, in open
        encoding, lines = detect_encoding(buffer.readline)
      File "c:\users\(...)\local\programs\python\python38\lib\tokenize.py", line 381, in detect_encoding
        encoding = find_cookie(second)
      File "c:\users\(...)\local\programs\python\python38\lib\tokenize.py", line 350, in find_cookie
        raise SyntaxError(msg)
    SyntaxError: unknown encoding for 'C:\\Users\\(...)\\Local\\Temp\\pip-install-xln6pb4c\\bpy\\setup.py': future_fstrings
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. code here

------- 我尝试过的方法(没有成功): -------

安装了wheels(pip install wheel),然后从pypi.org下载软件包以手动安装: pip install 'C:\Users(...)\Downloads\bpy-2.82.1.tar.gz' 仍然出现同样的错误

------- 结论: -------

不能在Blender之外使用bpy。我在Blender Stack Exchange上找到了一些解决方法(我还没有尝试)。感谢Anand和phd提供的非常有用的链接!

5个回答

13

据我所知,实际上可以在Blender之外运行bpy,并且声称无法运行是针对旧版本写的。不过,我必须承认,我仍在安装bpy的过程中,这并不容易,我还不能验证这一点。

在您的情况下,缺少pip模块。您可以使用 pip install future_fstrings 命令来安装它。请参阅https://pypi.org/project/bpy/获取更多指南。

编辑:我已经能够在Windows和Linux上安装bpy。在Linux下,它会抛出一些错误,但在Windows下工作得很好。而且绝对可以独立工作!


6
我使用了大量的试错,发现如果使用Python 3.7.6版本和pip 20.2.4版本,我可以通过pip install bpy安装bpy 2.82.1版本。我正在使用Windows 10操作系统和Anaconda提示符。

1
对我来说也起作用了。版本3.7.6最终也是适合我的版本。 - SujithaW
1
唯一似乎总是有效的东西!非常感谢! - Aparajith Sairam

1
我猜你无法安装 bpy 是因为你正在使用 Python 3.8 版本安装 bpy。你需要将你的 Python 版本降级到 3.7。
请查看 https://pypi.org/project/bpy/,然后你会发现 bpy 模块需要的 Python 版本是 >=3.7, <3.8。

0

简述- 安装预编译的wheel包,而不是标准的pip install bpy && bpy_post_install


在macOS上安装时出现错误:

我已经尝试了大约8个小时来安装它。

我的安装步骤如下:

  • 我从blender.org上的指南中构建了blender应用程序。
  • 根据bpy github存储库- bpy依赖于bpy-build(尽管它不在先决条件中)。
  • bpy-build github存储库没有很好的安装说明,而setup.py脚本明确将操作系统声明为Windows。因此,我基本上跳过了这一步-这可能是安装失败的原因之一。
  • 在两次不同的尝试中,我使用了pyenv和virtualenv来创建Python 3.7开发环境。两者都导致pip install bpy在运行setup.py期间挂起。 pip安装的实际错误是:
Collecting bpy
  Using cached https://files.pythonhosted.org/packages/4b/ed/ba6092b691acc5b157891421d9fde4a9dd5dcc8a8b93a4e8119fec261391/bpy-2.82.1.tar.gz
Installing collected packages: bpy
  Running setup.py install for bpy ... error
    ERROR: Command errored out with exit status 1:
     command: /<path-to-venv>/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/setup.py'"'"'; __file__='"'"'/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-record-ti3q9j4a/install-record.txt --single-version-externally-managed --compile --install-headers /<path-to-venv>/venv/include/site/python3.7/bpy
         cwd: /private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/
    Complete output (58 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.9-x86_64-3.7
    creating build/lib.macosx-10.9-x86_64-3.7/blenderpy
    copying blenderpy/__init__.py -> build/lib.macosx-10.9-x86_64-3.7/blenderpy
    copying blenderpy/pre_uninstall.py -> build/lib.macosx-10.9-x86_64-3.7/blenderpy
    copying blenderpy/post_install.py -> build/lib.macosx-10.9-x86_64-3.7/blenderpy
    running build_ext
    Preparing the build environment
    Searching for compatible Blender online (this will take a while)
    Found compatible Blender version 2.82
    Cloning Blender source from git (this will take a while)
    Cloning precompiled libs from svn (this will take a while)
    cmake -DWITH_PYTHON_INSTALL=OFF -DWITH_PYTHON_MODULE=ON -DWITH_OPENMP=OFF -DWITH_AUDASPACE=OFF -S/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/build/temp.macosx-10.9-x86_64-3.7/blender -B/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/build/temp.macosx-10.9-x86_64-3.7/build
    -- The C compiler identification is AppleClang 12.0.5.12050022
    -- The CXX compiler identification is AppleClang 12.0.5.12050022
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Detected OS X 11.3 and Xcode 12. at /Applications/Xcode.app
    -- OSX_SYSROOT_PREFIX: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
    -- Setting deployment target to 10.11, lower versions are not supported
    CMake Warning at CMakeLists.txt:580 (message):
      WITH_OPENAL requires WITH_AUDASPACE which is disabled


    CMake Warning at CMakeLists.txt:584 (message):
      WITH_JACK requires WITH_AUDASPACE which is disabled


    -- WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now
    -- Performing Test SUPPORT_SSE_BUILD
    -- Performing Test SUPPORT_SSE_BUILD - Success
    -- SSE Support: detected.
    -- Performing Test SUPPORT_SSE2_BUILD
    -- Performing Test SUPPORT_SSE2_BUILD - Success
    -- SSE2 Support: detected.
    -- Found Git: /usr/bin/git (found version "2.30.1 (Apple Git-130)")
    CMake Error at build_files/cmake/platform/platform_apple.cmake:38 (message):
      Mac OSX requires pre-compiled libs at:
      '/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/build/temp.macosx-10.9-x86_64-3.7/blender/../lib/darwin'
    Call Stack (most recent call first):
      CMakeLists.txt:808 (include)


    -- Configuring incomplete, errors occurred!
    See also "/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/build/temp.macosx-10.9-x86_64-3.7/build/CMakeFiles/CMakeOutput.log".
    See also "/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/build/temp.macosx-10.9-x86_64-3.7/build/CMakeFiles/CMakeError.log".
    error: command 'cmake' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /<path to venv>/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/setup.py'"'"'; __file__='"'"'/private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-install-m6rixhki/bpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/4n/wsjhxhbn0pb11r7cyqcvtxcc0000gn/T/pip-record-ti3q9j4a/install-record.txt --single-version-externally-managed --compile --install-headers /<path to venv>/venv/include/site/python3.7/bpy Check the logs for full command output.

**** 突破 **** 在撰写本文时,我注意到在 bpy 的 github 页面上有一个选项可以通过预构建的 wheel 安装,而不是通常的 pip install bpy && bpy_post_install。你必须去一些“可疑”的网站下载文件,但是在我以这种方式下载并安装后,我能够在 blender 应用程序之外运行 blender 脚本!!


-3

1
更多信息:https://github.com/TylerGubala/blenderpy/issues/39,https://github.com/TylerGubala/blenderpy/wiki#prerequisites-1 - phd
3
@Anand,你的回答是错误的。我花了几天的时间安装bpy,最终成功运行起来了。它在Blender之外绝对可行。这篇博文引用了2013年写的另一篇文章。也许在那时不可能,但是从今天来看,它肯定是可以的。 - paulgavrikov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接