Laravel到Python运行时错误:无法确定主目录



在我的Laravel(php(产品中,我们调用python脚本。当我在命令提示符下运行此脚本时,它工作正常。但是从Laravel控制器中,它引发了一个错误。

错误输出:

Traceback (most recent call last):
File "../public/calcuter_py/TestBasic_Mtg_Calculator.py", line 11, in <module>
import MortgageUtilFuncs
File "D:Apache24htdocsprojectnamepubliccalcuter_pyMortgageUtilFuncs.py", line 9, in <module>
import pandas as pd
File "C:Pythonlibsite-packagespandas__init__.py", line 55, in <module>
from pandas.core.api import (
File "C:Pythonlibsite-packagespandascoreapi.py", line 24, in <module>
from pandas.core.groupby import Grouper, NamedAgg
File "C:Pythonlibsite-packagespandascoregroupby__init__.py", line 1, in <module>
from pandas.core.groupby.generic import (  # noqa: F401
File "C:Pythonlibsite-packagespandascoregroupbygeneric.py", line 44, in <module>
from pandas.core.frame import DataFrame
File "C:Pythonlibsite-packagespandascoreframe.py", line 115, in <module>
from pandas.core.series import Series
File "C:Pythonlibsite-packagespandascoreseries.py", line 84, in <module>
import pandas.plotting
File "C:Pythonlibsite-packagespandasplotting__init__.py", line 59, in <module>
from pandas.plotting._core import (
File "C:Pythonlibsite-packagespandasplotting_core.py", line 17, in <module>
import pandas.plotting._matplotlib  # noqa
File "C:Pythonlibsite-packagespandasplotting_matplotlib__init__.py", line 3, in <module>
from pandas.plotting._matplotlib.boxplot import (
File "C:Pythonlibsite-packagespandasplotting_matplotlibboxplot.py", line 14, in <module>
from pandas.plotting._matplotlib.core import LinePlot, MPLPlot
File "C:Pythonlibsite-packagespandasplotting_matplotlibcore.py", line 34, in <module>
from pandas.plotting._matplotlib.tools import (
File "C:Pythonlibsite-packagespandasplotting_matplotlibtools.py", line 5, in <module>
import matplotlib.table
File "C:Pythonlibsite-packagesmatplotlibtable.py", line 25, in <module>
from .text import Text
File "C:Pythonlibsite-packagesmatplotlibtext.py", line 14, in <module>
from .font_manager import FontProperties
File "C:Pythonlibsite-packagesmatplotlibfont_manager.py", line 103, in <module>
os.path.join(str(Path.home()), r'AppDataLocalMicrosoftWindowsFonts'),
File "C:Pythonlibpathlib.py", line 1071, in home
return cls(cls()._flavour.gethomedir(None))
File "C:Pythonlibpathlib.py", line 264, in gethomedir
raise RuntimeError("Can't determine home directory")
RuntimeError: Can't determine home directory
"""

我们正在使用 laravel 进程功能来执行这个 python 脚本。

请让我知道如何解决此问题。

我遇到了和你一样的问题,我可以通过手动设置变量来解决它,因为问题是

os.environ['HOME']

是没有,这导致了问题

因此,您可以使用此代码手动设置它

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

设置时检查您使用的是"/"而不是"\",否则会给您一个错误。

它解决了我的问题。我也在使用Apache并调用Python脚本,并确保你的代码在脚本顶部有python的路径

#!C:Pythonpython.exe

在 git-bash 中,cmder sys 调用基于 python 的 shell 时类似的问题需要通过以下方式定义缺失的变量: export HOMEPATH="G:/">

最新更新