首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装失败: pipenv安装google-ads (TypeError:预期的字符串或类似字节的对象)

安装失败: pipenv安装google-ads (TypeError:预期的字符串或类似字节的对象)
EN

Stack Overflow用户
提问于 2020-12-11 06:04:23
回答 2查看 1.6K关注 0票数 2

pipenv install google-ads产生一个错误:

代码语言:javascript
复制
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
This is likely caused by a bug in google-ads. Report this to its maintainers.
✘ Installation Failed

这就是整件事:

代码语言:javascript
复制
% pipenv install google-ads
Creating a virtualenv for this project...
Pipfile: /Users/ralf/code/test_snippets/20-12-10_google_ads/Pipfile
Using /usr/local/bin/python3.9 (3.9.0) to create virtualenv...
⠦ Creating virtual environment...created virtual environment CPython3.9.0.final.0-64 in 325ms
  creator CPython3Posix(dest=/Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj, clear=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/ralf/Library/Application Support/virtualenv)
    added seed packages: pip==20.2.4, setuptools==50.3.2, wheel==0.35.1
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment! 
Virtualenv location: /Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj
Installing google-ads...
Error:  An error occurred while installing google-ads!
Error text: Processing /Users/ralf/Library/Caches/pipenv/wheels/0a/09/22/d4a45ac4200d9c68a5215e554d4181b51af2c01b4f16232b5c/google_ads-8.0.0-py3-none-any.whl
Collecting googleapis-common-protos<2.0.0,>=1.5.8
  Using cached googleapis_common_protos-1.52.0-py2.py3-none-any.whl (100 kB)
Collecting google-auth-oauthlib<1.0.0,>=0.3.0
  Using cached google_auth_oauthlib-0.4.2-py2.py3-none-any.whl (18 kB)
Collecting protobuf<4.0.0,>=3.13.0
  Using cached protobuf-3.14.0-py2.py3-none-any.whl (173 kB)
Collecting google-api-core<2.0.0,>=1.14.0
  Using cached google_api_core-1.23.0-py2.py3-none-any.whl (91 kB)
Processing /Users/ralf/Library/Caches/pipenv/wheels/69/60/81/5cd74b8ee068fbe9e04ca0d53148f28f5c6e2c5b177d5dd622/PyYAML-5.3.1-cp39-cp39-macosx_11_0_x86_64.whl
Requirement already satisfied, skipping upgrade: setuptools>=40.3.0 in /Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/lib/python3.9/site-packages (from google-ads->-r /var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pipenv-p0t2erav-requirements/pipenv-xefzspt6-requirement.txt (line 1)) (50.3.2)
Collecting grpcio<2.0.0,>=1.33.2
  Using cached grpcio-1.34.0.tar.gz (21.0 MB)

    ERROR: Command errored out with exit status 1:
     command: /Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-install-woj2xbsv/grpcio/setup.py'"'"'; __file__='"'"'/private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-install-woj2xbsv/grpcio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-pip-egg-info-d7h_fmnt
         cwd: /private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-install-woj2xbsv/grpcio/
    Complete output (9 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-install-woj2xbsv/grpcio/setup.py", line 359, in <module>
        if mac_target and (pkg_resources.parse_version(mac_target) <
      File "/Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/lib/python3.9/site-packages/pkg_resources/__init__.py", line 113, in parse_version
        return packaging.version.Version(v)
      File "/Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 275, in __init__
        match = self._regex.search(version)
    TypeError: expected string or bytes-like object
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

This is likely caused by a bug in google-ads. Report this to its maintainers.
✘ Installation Failed 

我对pipenv不太了解,我只是在使用它--到目前为止没有任何问题。现在我从头开始运行brew updatebrew outdatedbrew upgrade

我如何向它的维护人员最好地报告这一点,以及它的“它”意味着什么,Google广告或Pipenv?还有什么我能做的吗?

更新:

下面是关于我正在使用的系统的一些进一步信息:

  • 我刚刚更新到Mac OS 11.1 (20C69) (所以可能是11.01之前)
  • python --version -> Python 2.7.16
  • which python -> /usr/bin/python
  • which python3 -> /usr/local/bin/python3
  • python3 --version -> Python 3.9.0
  • which pipenv -> /usr/local/bin/pipenv
  • which pip -> /usr/local/bin/pip
  • which pip3 -> /usr/local/bin/pip3

我用自制语言安装Python3,然后安装pip3 install pipenv

更新2:

使用简单的pip (而不是pipenv),我第一次遇到了相同的错误,但是在更新pip之后,它运行得很好。这是我的意见:

代码语言:javascript
复制
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install google-ads

更新3:

我试着跟随泰271828建议,在安装google包之前更新我的pipenv env中的pip。这是我的命令:

代码语言:javascript
复制
pipenv --rm
pipenv shell
pip insall --upgrade pip
exit
pipenv install google-ads

错误消息看起来仍然很相似:

代码语言:javascript
复制
Installing google-ads...
Adding google-ads to Pipfile's [packages]...
✔ Installation Succeeded 
Pipfile.lock (16c839) out of date, updating to (f55075)...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✘ Locking Failed! 
ERROR:pip.subprocessor:Command errored out with exit status 1:
 command: /Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-resolver-p0oskrkm/grpcio/setup.py'"'"'; __file__='"'"'/private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-resolver-p0oskrkm/grpcio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-resolver-p0oskrkm/grpcio/pip-egg-info
     cwd: /private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-resolver-p0oskrkm/grpcio/
Complete output (9 lines):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/nc/s6kd50kj3gdg81vhy9qwddkw0000gn/T/pip-resolver-p0oskrkm/grpcio/setup.py", line 359, in <module>
    if mac_target and (pkg_resources.parse_version(mac_target) <
  File "/Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/lib/python3.9/site-packages/pkg_resources/__init__.py", line 113, in parse_version
    return packaging.version.Version(v)
  File "/Users/ralf/.local/share/virtualenvs/20-12-10_google_ads-S7vGVfKj/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 275, in __init__
    match = self._regex.search(version)
TypeError: expected string or bytes-like object
----------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pipenv/resolver.py", line 764, in <module>
    main()
  File "/usr/local/lib/python3.9/site-packages/pipenv/resolver.py", line 758, in main
    _main(parsed.pre, parsed.clear, parsed.verbose, parsed.system, parsed.write,
  File "/usr/local/lib/python3.9/site-packages/pipenv/resolver.py", line 741, in _main
    resolve_packages(pre, clear, verbose, system, write, requirements_dir, packages, dev)
  File "/usr/local/lib/python3.9/site-packages/pipenv/resolver.py", line 702, in resolve_packages
    results, resolver = resolve(
  File "/usr/local/lib/python3.9/site-packages/pipenv/resolver.py", line 684, in resolve
    return resolve_deps(
  File "/usr/local/lib/python3.9/site-packages/pipenv/utils.py", line 1395, in resolve_deps
    results, hashes, markers_lookup, resolver, skipped = actually_resolve_deps(
  File "/usr/local/lib/python3.9/site-packages/pipenv/utils.py", line 1108, in actually_resolve_deps
    resolver.resolve()
  File "/usr/local/lib/python3.9/site-packages/pipenv/utils.py", line 823, in resolve
    results = self.resolver.resolve(max_rounds=environments.PIPENV_MAX_ROUNDS)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/piptools/resolver.py", line 180, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/piptools/resolver.py", line 268, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/piptools/resolver.py", line 383, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 229, in get_dependencies
    legacy_results = self.get_legacy_dependencies(ireq)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 350, in get_legacy_dependencies
    results, ireq = self.resolve_reqs(
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 306, in resolve_reqs
    results = resolver._resolve_one(reqset, ireq)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/legacy_resolve.py", line 339, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/legacy_resolve.py", line 287, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(req)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/operations/prepare.py", line 508, in prepare_linked_requirement
    abstract_dist = _get_prepared_distribution(
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/operations/prepare.py", line 95, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/distributions/sdist.py", line 40, in prepare_distribution_metadata
    self.req.prepare_metadata()
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/req/req_install.py", line 564, in prepare_metadata
    self.metadata_directory = self._generate_metadata()
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/req/req_install.py", line 538, in _generate_metadata
    return generate_metadata_legacy(
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/operations/build/metadata_legacy.py", line 115, in generate_metadata
    call_subprocess(
  File "/usr/local/lib/python3.9/site-packages/pipenv/patched/notpip/_internal/utils/subprocess.py", line 242, in call_subprocess
    raise InstallationError(exc_msg)
pipenv.patched.notpip._internal.exceptions.InstallationError: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

顺便说一句:我同时升级到Python3.9.1。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-17 15:41:28

我花了一段时间才弄明白这一点,但这似乎是pipenvPython 3.9 (或3.9.1)下与google-ads模块一起出现的一个问题。

我的解决方案:

  1. 降级到Python 3.8.6 (对我来说,作为菜鸟,这是一场斗争,以防你对此感兴趣:切换Homebrew安装的Python (3.9Python3.8))
  2. 升级pipenv内部的pip

我就是这样做的:

代码语言:javascript
复制
pipenv shell
pip install --upgrade pip
exit

然后它终于起作用了:

代码语言:javascript
复制
% pipenv install google-ads
Installing google-ads...
Adding google-ads to Pipfile's [packages]...
✔ Installation Succeeded 
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✔ Success! 
Updated Pipfile.lock (aba984)!
Installing dependencies from Pipfile.lock (aba984)...
     ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

万岁!

票数 3
EN

Stack Overflow用户

发布于 2020-12-14 14:30:43

你可能想提供更多的信息,让人们更容易地回答你的问题,下面有一些例子和建议。

  1. 声明“这很可能是由google-ads中的一个bug引起的。请向其维护人员报告。”是由pipenv提出的。它的意思是“请不要向pipenv开发小组报告问题”。
  2. 不要急于声称您发现了一个bug:这是埃里克·史蒂文·雷蒙德的“如何提问--聪明的方式”的建议。有关原因的更多细节,您可以查看链接。因此,我建议你先调查你的操作,而不是联系谷歌广告。
  3. 看起来,您正在mac/OSX上运行该命令。另外,你的琵琶似乎是用brew安装的。如果这两个语句都是正确的,那么很可能是将您的系统级pip和本地安装的pipenv (通过brew)混合起来。对于不熟悉python包管理的人来说,这是一个非常常见的错误。
代码语言:javascript
复制
1. Thus, the first suggestion to find a solution, is to elaborate the python package management related information on your system (mac/OSX) as much as possible. For example, the output message of `python --version`, `which python`, `which pip`, and `which pipenv` is usually help.
代码语言:javascript
复制
2. If you want to use brew to manage packages for you, make sure every step you used to install pipenv and your target package does not mix your system-wise python environment and your local(managed by brew or a python virtual environment) when trying to figure out the issue and finding a solution. For example, make sure you are starting your operation from a "clean" and just-re-spawned terminal. If you want to use brew, make sure you are controlling everything via brew. It will be a bad idea to activate a customized python virtual environment (e.g. conda environment) and then using brew.
代码语言:javascript
复制
3. I expect people could not provide you other more practical solution suggestions until more information is provided. Good luck.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65246529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档