我正在尝试在此处运行官方数据流示例:https://github.com/GoogleCloudPlatform/dataflow-prediction-example
但是,由于日志中存在以下类型的错误,数据流作业无法正确启动(其他作业也发生了相同的错误):
(happens 2nd) Could not install packages due to an EnvironmentError:
[Errno 2] No such file or directory: '/usr/local/lib/python2.7/dist-packages/tensorflow-1.9.0.dist-info/METADATA'
(happens 1st) Successfully built tensorflow-module
我完全按照Github上的指示进行操作,这是此示例中virtualenv的pip freeze
的输出:
absl-py==0.4.0
apache-beam==2.6.0
astor==0.7.1
avro==1.8.2
backports.weakref==1.0.post1
cachetools==2.1.0
certifi==2018.8.13
chardet==3.0.4
crcmod==1.7
dill==0.2.8.2
docopt==0.6.2
enum34==1.1.6
fasteners==0.14.1
funcsigs==1.0.2
future==0.16.0
futures==3.2.0
gapic-google-cloud-pubsub-v1==0.15.4
gast==0.2.0
google-apitools==0.5.20
google-auth==1.5.1
google-auth-httplib2==0.0.3
google-cloud-bigquery==0.25.0
google-cloud-core==0.25.0
google-cloud-pubsub==0.26.0
google-gax==0.15.16
googleapis-common-protos==1.5.3
googledatastore==7.0.1
grpc-google-iam-v1==0.11.4
grpcio==1.14.1
hdfs==2.1.0
httplib2==0.11.3
idna==2.7
Markdown==2.6.11
mock==2.0.0
monotonic==1.5
numpy==1.14.5
oauth2client==4.1.2
pbr==4.2.0
ply==3.8
proto-google-cloud-datastore-v1==0.90.4
proto-google-cloud-pubsub-v1==0.15.4
protobuf==3.6.1
pyasn1==0.4.4
pyasn1-modules==0.2.2
pydot==1.2.4
pyparsing==2.2.0
pytz==2018.4
PyVCF==0.6.8
PyYAML==3.13
requests==2.19.1
rsa==3.4.2
six==1.11.0
tensorboard==1.10.0
tensorflow==1.10.0
termcolor==1.1.0
typing==3.6.4
urllib3==1.23
Werkzeug==0.14.1
这个pip依赖问题发生在我尝试过的所有其他工作上,所以我决定尝试使用正式的github示例,这也正在发生。
此工作ID为2018-08-15_23_42_57-394561747688459326
,我使用的是 Python 2.7 。
感谢您的帮助以及任何指示!
答案 0 :(得分:2)
如Apache Beam文档中有关如何handle Python dependencies in a pipeline所述,建议的PyPI依赖性方法是创建一个requirements.txt
文件,然后将其作为可选的命令行选项传递,如下所示(您尝试此问题时可能是错误的):
--requirements_file requirements.txt
无论如何,正如我在有关如何run Apache Beam with TensorFlow的最新示例中所看到的,the code所做的实际上是根据 install_requires传递要安装的软件包列表setuptools
中的em>选项,因此这也是您可以遵循的选项,我认为这可以解决您的问题。
答案 1 :(得分:0)
实际上,我通过删除requirements.txt
文件并在setup.py
文件中发布了我的应用程序正在使用的极少数附加库来解决此问题(丢弃了Dataflow中已提供的依赖项)工人-link)。
尽管如此,我不确定这是否是正确的解决方案,因为Github示例本身仅在我从pip install tensorflow
文件中删除setup.py
命令后才起作用。
希望这对某人有帮助! :)