我首先研究了在Github上发现的几个Gist:https://gist.github.com/lpetre/87a5196d14cf4484f1f2
这在我的笔记本电脑上运行得很好,但我正在尝试设置Travis CI来自动构建发布的APK并将其提交到Play Store。我现在遇到的问题是Travis方面的,因为我不能使用pip安装google_api_python_client。
接到电话后,我得到以下信息:
Installing collected packages: google-api-python-client, httplib2
Running setup.py install for google-api-python-client
error: could not create '/usr/local/lib/python2.7/dist-packages/apiclient': Permission denied
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_travis/google-api-python-client/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-ctZKCR-record/install-record.txt --single-version-externally-managed --compile:
因此,我放弃了使用pip,自己下载了python客户端库,现在将它们包含在我的git repo中(在/google_api_upload下)。
Google API上传客户端库说明的一部分(https://github.com/googlesamples/android-play-publisher-api/blob/master/v2/python/README.md)比如在python控制台中运行"import-apiclient"(同样,在我的笔记本电脑上运行良好,但在travis上运行不好,因为到目前为止,我无法启动python会话并输入"import-aipclient";它只是挂在python会话上)。
因此,我认为在我的Gradle文件中有一个Gradle函数会非常棒,它调用API函数,并且是从travis.yml文件调用的;但我甚至不知道这是否可能。
因此,任何输入都会有所帮助,尤其是:
- 我在travis上运行pip的尝试失败了吗?我可以升级权限吗(我想我不能)
- 有没有一种方法可以在travis.yml文件中的一行内为python调用"import-apiclient"
- 是否可以让travis调用一个gradle函数,该函数引用我的构建中包含的客户端库
- 我试图找到这种端到端流程的例子,但没有找到任何适合这种情况的例子,你知道吗
谢谢!
我收到了类似的错误消息
error: could not create '/usr/local/lib/python2.7/dist-packages/googleapiclient': Permission denied
并通过添加sudo
:来修复
sudo pip install google-api-python-client
比较内部版本#162和#163。
收到Travis支持部门的回复,但尚未确认。
我相信这是在https://github.com/travis-ci/travis-ci/issues/2280.https://github.com/travis-ci/travis-ci/issues/2280#issuecomment-42798869建议添加"mvn-plextras/googleplayservicesinstall"应该做到这一点。