我按照此Google指南操作:https://cloud.google.com/bigquery/docs/reference/libraries#client-libraries-install-python运行脚本后出现错误:
Traceback (most recent call last):
File "/home/pyc6eh4uk/PycharmProjects/fintech_python/bq_jobs/big_query_test.py", line 2, in <module>
from google.cloud import bigquery
File "/usr/local/lib/python2.7/dist-packages/google/cloud/bigquery/__init__.py", line 32, in <module>
__version__ = get_distribution('google-cloud-bigquery').version
File "/home/pyc6eh4uk/Programms/google-cloud-sdk/platform/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 311, in get_distribution
if isinstance(dist,Requirement): dist = get_provider(dist)
File "/home/pyc6eh4uk/Programms/google-cloud-sdk/platform/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 197, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "/home/pyc6eh4uk/Programms/google-cloud-sdk/platform/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/pyc6eh4uk/Programms/google-cloud-sdk/platform/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: google-cloud-bigquery
所以我认为位于我的主目录中的google-cloud-sdk与/usr/local/lib/python2.7/dist-packages/google/cloud中的bigquery包之间的混淆问题如何避免这种冲突或者可能是如何设置工作google sdk和bigqery的环境?
1 回答
我刚做了一个快速测试,我无法重现这种行为 . 要解决问题,您可以通过执行以下操作来使用virtualenv:
$ virtualenv test
$ pip freeze
(确保没有安装)$ source test/bin/activate
$ pip install --upgrade google-cloud-bigquery
安装完成后,您可以按照目前使用的tutorial执行de virtualenv中的脚本 . 完成后,您可以通过运行
$ deactivate
离开virtualenv