apache部署django,为什么引入numpy 出现 importerror 错误?

环境:
ubuntu server 16.04
apache2
django 1.11
python 3.6 (使用conda虚拟环境)

在shell中
输入

import numpy
import numpy.core.multiarray

一切正常

在django程序中同样import了numpy,但是apache启动了之后,却报了这样的错误。

Traceback (most recent call last):
[ 2017] [wsgi:error] [pid 24663:tid 139804098279168] [remote 192.168.10.3:53941]   File "/home/yangtao/miniconda3/envs/compoengine/lib/python3.6/site-packages/numpy/core/__init__.py", line 16, in <modu$
[ 2017] [wsgi:error] [pid 24663:tid 139804098279168] [remote 192.168.10.3:53941]     from . import multiarray
[ 2017] [wsgi:error] [pid 24663:tid 139804098279168] [remote 192.168.10.3:53941] ImportError: cannot import name 'multiarray'

怎么也无法解决,当把conda env中的numpy文件夹删除掉,在全局apt-get install python3-numpy之后,再重新启动apache就没有问题了,这个时候程序中使用的应该是全局apt安装的numpy,这是为什么?我在conda环境下import 了multiarray明明没有出问题啊!怎么到了apache启动的时候就会有importerror呢?我不想全局apt安装python3-numpy,想使用conda环境里的numpy,该怎么办?

阅读 4.5k
2 个回答

我放弃了apache,改用了nginx

因为你用 Apache 部署的时候,Python 环境是全局的,你的 conda 环境并没有配置进去

看看这个答案能否解决你的问题

https://stackoverflow.com/que...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题