【问题标题】:Python pip command returning 'Command "python setup.py egg_info" failed with error code1'Python pip 命令返回“命令“python setup.py egg_info”失败,错误代码为 1”
【发布时间】:2016-07-31 07:55:48
【问题描述】:

由于某种原因尝试安装 PyEZ/junos-eznc 时,我不断收到错误“Python pip 命令返回'命令“python setup.py egg_info”失败并出现错误代码1'”。我的 setuptool 和 ez-setup 都是最新的。这是错误的快照:

C:\Users\???>py -m pip install junos-eznc
Collecting junos-eznc
  Using cached junos-eznc-1.3.1.tar.gz
Collecting lxml>=3.2.4 (from junos-eznc)
  Using cached lxml-3.6.1.tar.gz
Collecting ncclient>=0.4.6 (from junos-eznc)
  Using cached ncclient-0.5.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\???~1\AppData\Local\Temp\pip-build-bb5l5lel\ncclient\setup.py", line 32, in <mod
ule>
        long_description = file.read()
      File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\encodings\cp1252.py", line
23, in decode
        return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 4336: character maps to <unde
fined>

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\???~1\AppData\Local\Temp\pip-
build-bb5l5lel\ncclient/

有什么想法吗?

【问题讨论】:

  • 请运行pip -Vpython -V 好吗?
  • 您在路径中的用户名看起来很奇怪。它是否包含非 ASCII 字符?当工作目录路径之前包含特殊字符时,我已经看到 pip 失败。
  • @Aurora0001 pip 8.1.2,python 3.5。
  • @KlausD.我从路径中省略了我的用户名,没有问题:P。

标签: python python-3.x pip setuptools


【解决方案1】:

问题似乎是ncclientsetup.py 文件中的描述以错误的编码加载。其他一些包似乎也有类似的问题,比如here,所以我建议你试试这个:

  • Download 并直接从 PyPI 解压缩最新版本。

  • setup.py 中删除行31 and 32

  • 将其替换为以下行:


long_description = "Placeholder"
  • 打开命令行提示符,cd 到您提取代码的目录并运行 py -m pip install .

如果您在 ncclient 的 GitHub 页面上提出问题,这也可能会有所帮助 - 如果您链接此线程,如果这解决了问题,它可能会对他们有所帮助。

【讨论】:

    【解决方案2】:

    终于找到了解决这个问题的办法。

    步骤 1) 如 Aurora0001 所述,下载 zip 文件,删除第 31 和 32 行并替换为:

    long_description = "Placeholder"
    

    然后,使用 pip 安装。

    步骤 2) 执行此命令:

    set STATICBUILD=true && pip install lxml
    

    步骤 3) 使用 pip 安装 junos-eznc

    我希望它适用于其他有同样问题的人;并感谢奥罗拉。

    【讨论】:

    • 很高兴听到您的问题得到解决。不要忘记接受此答案中的一种解决方案(我的或这个)。
    猜你喜欢
    • 2017-11-04
    • 1970-01-01
    • 2016-12-18
    • 2017-02-20
    • 2014-02-26
    • 2018-12-03
    相关资源
    最近更新 更多