简体   繁体   English

无法使用 pip 安装 package bpy

[英]Cannot install package bpy using pip

Problem description : In VS Code, run the command pip install bpy (as indicated in https://pypi.org/project/bpy/ ) and get the following error message:问题描述:在 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

------- What I tried (without success): ------- -------我尝试过的(没有成功):-------

Installed wheels (pip install wheel), then downloaded the package from pypi.org to manually install: pip install 'C:\Users(...)\Downloads\bpy-2.82.1.tar.gz' got the same error .安装轮子(pip install wheel),然后从pypi.org下载package手动安装: pip install 'C:\Users(...)\Downloads\bpy-2.82.1.tar.gz'得到同样的错误

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

Cannot use bpy outside of Blender.不能在 Blender 之外使用 bpy。 I found some workarounds (which I have yet to try) on another post on Blender Stack Exchange Thanks Anand and phd for the very useful links!我在Blender Stack Exchange上的另一篇文章中找到了一些解决方法(我还没有尝试过)感谢 Anand 和 phd 提供了非常有用的链接!

From what I understand it is actually possible to run bpy outside blender and information that claims otherwise was written for older versions.据我了解,实际上可以在搅拌机之外运行 bpy ,并且声称其他信息是为旧版本编写的。 I have to admit though that I am still in progress of installing bpy which is not an easy task and I cannot verify this, yet.我不得不承认,我仍在安装 bpy,这不是一件容易的事,我还无法验证这一点。

In your case, a pip module is missing.在您的情况下,缺少 pip 模块。 You can install it with pip install future_fstrings .您可以使用pip install future_fstrings安装它。 Have a look at https://pypi.org/project/bpy/ for more guidelines.查看https://pypi.org/project/bpy/了解更多指南。

EDIT: I was able to install bpy under Windows and Linux.编辑:我能够在 Windows 和 Linux 下安装 bpy。 It throws some errors on Linux but works fine under Windows.它会在 Linux 上引发一些错误,但在 Windows 下工作正常。 And absolutely works standalone!并且绝对独立工作!

I used a lot of trial and error and found out that using a Python version of 3.7.6 and pip version of 20.2.4, I was able to install bpy version - 2.82.1 by pip install bpy.我使用了很多试验和错误,并发现使用Python版本3.7.6和Z62AD1C2A46C5298F3E2C95C95D3BABF8D3BABF8D3BABF8D0CZ版本由20.2.2.2.2.4,我to Z.2.4,我to Z.2.4,i -2.2.4.2.24.24.288288248824824882488248824.2AR。 I am using Windows 10 and Anaconda prompt.我正在使用 Windows 10 和 Anaconda 提示符。

TL:DR- install from prebuilt wheel, not from standard pip install bpy && bpy_post_install TL:DR- 从预制轮安装,而不是从标准pip install bpy && bpy_post_install


Errors installing on macos: macOS 安装错误:

I have been trying to install it for the last 8 hours or so.在过去的 8 个小时左右,我一直在尝试安装它。

My installation steps thus far:到目前为止我的安装步骤:

  • I built the blender app from source, following instructions on blender.org我按照 blender.org 上的说明从源代码构建了搅拌机应用程序
  • According to the bpy github repo- bpy depends upon bpy-build (though it's not in the prerequisites).根据bpy github repo-bpy 依赖于 bpy-build(尽管它不在先决条件中)。
  • The bpy-build github repo doesn't have great installation instructions, and the setup.py script specifically declares the OS as windows. bpy-build github repo 没有很好的安装说明,setup.py 脚本专门将操作系统声明为 windows。 So, I basically just skipped this- a possible cause of the install failures.所以,我基本上只是跳过了这个——安装失败的一个可能原因。
  • In two different attempts, I used both pyenv and virtualenv, to create a python 3.7 dev environment.在两次不同的尝试中,我同时使用了 pyenv 和 virtualenv,来创建 python 3.7 开发环境。 Both resulted in a hanging install for pip install bpy during the running of setup.py .两者都导致pip install bpysetup.py运行期间挂起安装。 The actual error from the pip install is: 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.

**** The breakthrough **** While writing this, I noticed the option in the bpy github page to install via pre-build wheel rather than the usual pip install bpy && bpy_post_install . **** 突破 **** 在写这篇文章时,我注意到 bpy github 页面中的选项通过预构建轮安装,而不是通常的pip install bpy && bpy_post_install You have to go to some 'sketchy' sites to download the file, but after I downloaded it and installed it that way I was able to run blender scripts outside of the blender app!!你必须 go 到一些“粗略”的网站来下载文件,但是在我下载并安装它之后,我能够在搅拌机应用程序之外运行搅拌机脚本!

I guess you can't install bpy because you're installing bpy by python 3.8 version.我猜您无法安装 bpy,因为您正在通过 python 3.8 版本安装 bpy。 You have do downgrade your python version to 3.7您已经将python version to 3.7

Check out https://pypi.org/project/bpy/查看https://pypi.org/project/bpy/

then you can see bpy module requires version of Python >=3.7, <3.8然后你可以看到 bpy 模块需要版本Python >=3.7, <3.8

Unfortunately the 'bpy' module cannot be used outside of Blender.不幸的是,“bpy”模块不能在 Blender 之外使用。

More details are here: https://creativepolygon.com/development/starting-with-bpy-blender-python-part-1-installation更多细节在这里: https://creativepolygon.com/development/starting-with-bpy-blender-python-part-1-installation

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM