Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从外部python安装动态导入matplotlib.pyplot_Python_Matplotlib_Python Import - Fatal编程技术网

从外部python安装动态导入matplotlib.pyplot

从外部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

我正在Blender中使用嵌入式python,它没有安装matplotlib。我想动态添加它,从我的anaconda python安装中加载它。 为此,我将anaconda站点包插入sys.path的开头:

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插件的安装尽可能简单,但似乎用户需要手动完成。。。