【问题标题】:Problem with conan package manager while inspect and build检查和构建时柯南包管理器出现问题
【发布时间】:2021-11-04 13:39:29
【问题描述】:

以下 conan cmd 因语法无效而失败,但该文件不是我创建的。 不知道为什么会出现以下错误。

$ conan inspect poco/1.9.4
poco/1.9.4: Not found in local cache, looking in remotes...
poco/1.9.4: Trying with 'conancenter'...
Downloading conanmanifest.txt completed [0.74k]
Downloading conanfile.py completed [14.36k]
Downloading conan_export.tgz completed [0.30k]
Decompressing conan_export.tgz completed [0.00k]
poco/1.9.4: Downloaded recipe revision 0
ERROR: Error loading conanfile at '/home/snandi/.conan/data/poco/1.9.4/_/_/export/conanfile.py': Unable to load conanfile in /home/snandi/.conan/data/poco/1.9.4/_/_/export/conanfile.py
  File "/home/snandi/.conan/data/poco/1.9.4/_/_/export/conanfile.py", line 97
    tools.get(**self.conan_data["sources"][self.version],
                                                        ^
SyntaxError: invalid syntax

【问题讨论】:

  • 你有最新版的柯南,你用的是python 3吗?
  • 是的,我有最新版本的柯南(1.40)。我基本上都有python2和python3。当我当时安装了柯南和 pip 时,python 2 出现了,后来我安装了 python3。你能建议我如何解决这个问题吗?

标签: c++ linux windows-subsystem-for-linux conan


【解决方案1】:

出现您的错误是因为 Python 2 无法解析 **self.conan_data,因为 Python 3.5 (PEP 448) 引入了解包功能改进,您只能使用 Python 3。

您可以简单地运行来验证它:

$ python2
Python 2.7.18 (default, Mar 24 2021, 14:28:23) 
[GCC 10.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> dict(**{'x': 1}, y=2, **{'z': 3})
  File "<stdin>", line 1
    dict(**{'x': 1}, y=2, **{'z': 3})
                   ^
SyntaxError: invalid syntax
$ python3
Python 3.9.6 (default, Jun 30 2021, 10:22:16) 
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> dict(**{'x': 1}, y=2, **{'z': 3})
{'x': 1, 'y': 2, 'z': 3}

因此,解决您的问题:

首先,从python2卸载柯南:python2 -m pip uninstall conan

然后,只保留安装的 python 3 版本:python3 -m pip install -U conan

如果您在主机中管理 Python 环境有一些困难,我建议使用 pyenv,它管理安装的全局版本。

【讨论】:

  • 感谢您的支持。我会试试这个并在这里更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多