1

我正在运行带有机器学习服务(python V3.5.2)的 SQL Server 2017 开发人员版。我今天设置了所有内容,并且可以成功运行 sp_execute_external_script,如下所示:

EXEC sp_execute_external_script
  @language =N'Python',
  @script=N'
print ("Hello World")'

然后我将 yfinance 模块安装到 sys.path 中列出的目录中,我可以通过在 SQL Server 中运行以下代码来确认服务器识别已安装的包:

EXECUTE sp_execute_external_script 
  @language = N'Python', 
  @script = N'
import pkg_resources
import pandas as pd
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version) for i in installed_packages])
df = pd.DataFrame(installed_packages_list)
OutputDataSet = df
'
WITH RESULT SETS (( PackageVersion nvarchar (150) ))

在列表的底部,它显示了“yfinance==0.1.54”的输出。但是,当我尝试使用下面的代码导入包时,我收到一条错误消息:“ImportError: No module named 'yfinance'”:

EXEC sp_execute_external_script
  @language =N'Python',
  @script=N'import yfinance'

我尝试直接从 C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES 运行 Python.exe,并从那里成功运行“import yfinance”。

我在这里想念什么?我还能如何解决为什么 yfinance 无法通过 sp_execute_external_script 工作?

4

0 回答 0