大查询-本地计算机-ImportError:DLL加载失败:找不到指定的过程

时间:2019-11-27 15:27:30

标签: python google-bigquery

我无法运行执行大查询的python程序。 我的python版本:3.6.0 我的点子版本:19.3.1

Traceback (most recent call last):
  File "app.py", line 2, in <module>
    from bqservice import query_service
  File "C:\work\python-bigquery\bqservice\query_service.py", line 1, in <module>
    from google.cloud import bigquery
  File "C:\work\python-bigquery\env\lib\site-packages\google\cloud\bigquery\__init__.py", line 35, in <module>
    from google.cloud.bigquery.client import Client
  File "C:\work\python-bigquery\env\lib\site-packages\google\cloud\bigquery\client.py", line 50, in <module>
    import google.cloud._helpers
  File "C:\work\python-bigquery\env\lib\site-packages\google\cloud\_helpers.py", line 33, in <module>
    from google.protobuf import duration_pb2
  File "C:\work\python-bigquery\env\lib\site-packages\google\protobuf\duration_pb2.py", line 5, in <module>
    from google.protobuf import descriptor as _descriptor
  File "C:\work\python-bigquery\env\lib\site-packages\google\protobuf\descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
ImportError: DLL load failed: The specified procedure could not be found.

但是当我对它进行Docker化并将其作为任何服务(如云运行等)运行时,相同的代码会很好地工作。

  

我已经转贴了该帖子:ImportError: DLL load failed: The specified module could not be found   但这没用

这是我的代码:

from flask import Flask, request, jsonify
from bqservice import query_service


# Init App
app = Flask(__name__)


@app.route('/', methods=['GET'])
def home():
    return "Home page"


@app.route('/match/<id>', methods=['GET'])
def get_a_project(id):
    match_summary = query_service.get_match_details(id)    
    return match_summary


 # This is for debug mode on
if __name__ == '__main__':
    app.run( port=8080, debug=True)    

我的要求。txt

cachetools==3.1.1
certifi==2019.9.11
chardet==3.0.4
Click==7.0
Flask==1.1.1
google-api-core==1.14.3
google-auth==1.7.1
google-cloud-bigquery==1.22.0
google-cloud-core==1.0.3
google-resumable-media==0.5.0
googleapis-common-protos==1.6.0
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10.3
MarkupSafe==1.1.1
protobuf==3.11.0
pyasn1==0.4.8
pyasn1-modules==0.2.7
pytz==2019.3
requests==2.22.0
rsa==4.0
six==1.13.0
urllib3==1.25.7
Werkzeug==0.16.0

这是依赖项,因为我只添加了Flask和google-bigquery,因此通过pip安装来填充

我的岛:

from google.cloud import bigquery
from os import environ
from baseball import matches


def get_match_details(gameId):

    client = bigquery.Client()

    query_job = client.query("select * from `bigquery-public-data.baseball.schedules` where gameid= '"+gameId+"'")

    results = query_job.result()  # Waits for job to complete.


    for row in results:  # API request - fetches results
        requested_match = matches.Matches(row["homeTeamName"], row["awayTeamName"], row["dayNight"], row["startTime"], row["attendance"], row["duration"])



    return requested_match.get_details()


有帮助吗?

1 个答案:

答案 0 :(得分:0)

内部软件包“ bqservice”似乎正在调用一个未安装的软件包,使您看到该错误消息。

在GCP资源上运行代码时,您不会遇到此问题,因为在大多数情况下,这些软件包是默认安装的。

希望这会有所帮助。

相关问题