从外部python安装动态导入matplotlib.pyplot
我正在Blender中使用嵌入式python,它没有安装matplotlib。我想动态添加它,从我的anaconda python安装中加载它。 为此,我将anaconda站点包插入sys.path的开头:从外部python安装动态导入matplotlib.pyplot,python,matplotlib,python-import,Python,Matplotlib,Python Import,我正在Blender中使用嵌入式python,它没有安装matplotlib。我想动态添加它,从我的anaconda python安装中加载它。 为此,我将anaconda站点包插入sys.path的开头: sys.path.insert(1, '/.../anaconda3/lib/python3.5/site-packages') 我成功地导入了matplotlib。 但当我尝试导入matplotlib.pyplot时,出现以下错误: File ".../anaconda3/lib/pyt
sys.path.insert(1, '/.../anaconda3/lib/python3.5/site-packages')
我成功地导入了matplotlib。
但当我尝试导入matplotlib.pyplot时,出现以下错误:
File ".../anaconda3/lib/python3.5/site-packages/matplotlib/_path.py", line 6, in __bootstrap__
imp.load_dynamic(__name__,__file__)
ImportError: numpy.core.multiarray failed to import
所以我一步一步地尝试导入numpy.core.multiarray。首先,我从anaconda3路径导入了numpy和numpy.core以及两者,但在尝试导入numpy.core.multiarray时,它是从Blender的路径导入的!我甚至试图从sys.path中删除Blender的站点包,但没有任何帮助
编辑 我认为问题在于imp.load\u dynamic。当我调用时,numpy.core.multiarray的问题已经解决
imp.load_dynamic('numpy.core.multiarray', '.../anaconda3/lib/python3.5/site-packages/numpy/core/multiarray.cpython-35m-x86_64-linux-gnu.so')
现在我对_csv和libz有一个问题。。。
有东西告诉我这不是最好的方法
编辑2
我最终使用pip在Blender的环境中安装了matplotlib。真是一团糟。如果您感兴趣,以下是我需要执行的步骤。
matplotlib
有许多C扩展,它们希望链接到编译它们时使用的numpy
和Python版本(即,您需要ABI兼容性,而不仅仅是API兼容性)。你也许能让事情顺利进行,但它将是脆弱的。为什么不在Blender的嵌入式python环境中安装matplotlib呢?是的,这似乎是一条可行的道路。我试图让我的Blender插件的安装尽可能简单,但似乎用户需要手动完成。。。