无法导入python CGI脚本的matplotlib(apache Web服务器)



使用:Apache Server 2.4(localhost,Win10(,Python 3.8.4(32位(

我正试图在我的python CGI脚本中导入matplotlib,但似乎找不到解决方案(我读过类似的帖子,似乎找不出解决方案(。

代码(pythoncode.py位于Apache24\cgi-bin中(:

#!C:Pythonpython.exe

import os,sys
import cgi
import cgitb
import math
import numpy as np
cgitb.enable()
print("Content-type:text/htmlrnrn")
print('<html>')
print ('<head>')
print ('<title>Hello World/title>')
print ('</head>')
print ('<body>')
print ('<h2>Hello World!</h2>')
print ('</body>')
print ('</html>')
print(sys.executable)
print(sys.version)
print(sys.prefix)
print(sys.path)

#print(os.path.expanduser('~')) # C:UsersMike
os.environ[ 'HOME' ] = 'C:/Python'
print(os.environ['HOME'])
print(np.arange(3,5))
import matplotlib
##matplotlib.use('Agg')

我安装了pip numpy来测试是否可以读取包,matplotlib不配合。Numpy就是一个例子。

我已经完成了python的完全卸载和重新安装,删除了所有的pip包,只安装了numpy和matplotlib。

错误(见index.html(:

Traceback (most recent call last):
File "C:/Apache24/cgi-bin/collect_seats_by_click_server.py", line 34, in <module>
import matplotlib
File "C:Pythonlibsite-packagesmatplotlib__init__.py", line 921, in <module>
dict.update(rcParams, _rc_params_in_file(matplotlib_fname()))
File "C:Pythonlibsite-packagesmatplotlib__init__.py", line 602, in matplotlib_fname
for fname in gen_candidates():
File "C:Pythonlibsite-packagesmatplotlib__init__.py", line 599, in gen_candidates
yield os.path.join(get_configdir(), 'matplotlibrc')
File "C:Pythonlibsite-packagesmatplotlib__init__.py", line 239, in wrapper
ret = func(**kwargs)
File "C:Pythonlibsite-packagesmatplotlib__init__.py", line 502, in get_configdir
return _get_config_or_cache_dir(_get_xdg_config_dir())
File "C:Pythonlibsite-packagesmatplotlib__init__.py", line 444, in _get_xdg_config_dir
return os.environ.get('XDG_CONFIG_HOME') or str(Path.home() / ".config")
File "C:Pythonlibpathlib.py", line 1099, in home
return cls(cls()._flavour.gethomedir(None))
File "C:Pythonlibpathlib.py", line 265, in gethomedir
raise RuntimeError("Can't determine home directory")
RuntimeError: Can't determine home directory

添加:

os.environ[ 'HOME' ] = 'C:/Python'

似乎并没有改变这个错误。

我很确定这是一个Web服务器错误,可能无法读取matplotlib依赖项,然而,测试numpy让我产生了相反的想法。如果你有任何建议,或者需要更多信息,请告诉我。在这一点上我很迷茫。

其他信息:
Python安装在\C\Python:
Laravel到Python运行时错误:Can';t确定主目录
导入&通过CGI运行matplotlib
ImportError:没有名为';matplotlib_路径';在apache2
中运行python脚本时

废弃的apache。使用了flask和python网络服务器,现在工作正常。

最新更新