【问题标题】:Pip install issue with egg fragments that lead to an UNKNOWN installation of a package鸡蛋碎片的 Pip 安装问题导致软件包的未知安装
【发布时间】:2019-04-04 06:22:24
【问题描述】:

我收到了一台 MacBook Pro,需要确保我们的一些 Python 2.7 脚本可以在笔记本电脑上运行,而笔记本电脑可以在 Windows 机器上流畅运行。

MacBook 已经很老了,2008 年,OS X 10.11.6

我在这台笔记本电脑上使用 pip install 安装某些软件包时遇到问题,我在此寻求帮助作为最后的手段。 首先,Python 2.7.10 已安装并运行顺利。 Pip install 也可以,但不适用于所有软件包。 首先,我安装了 python-vlc 包:

pip install python-vlc --user

已完成,没有错误。然后我运行我们的脚本,该脚本使用 import vlc 导入包

python script.py

导致

Traceback(最近一次调用最后一次): 文件“script.py”,第 30 行,在 进口vlc 文件“/Users/admin/Library/Python/2.7/lib/python/site-packages/vlc/init.py”,第 4 行,在 从 vlc.helper 导入告诉 文件“/Users/admin/Library/Python/2.7/lib/python/site-packages/vlc/helper.py”,第 4 行,在 导入小程序 文件“/Users/admin/Library/Python/2.7/lib/python/site-packages/applescript/init.py”,第 3 行,在 只进口 ImportError: No module only named

好像我只需要安装包:

pip install only --user

导致

仅收集 安装收集的包:仅 例外: 回溯(最近一次通话最后): 文件“/Library/Python/2.7/site-packages/pip/_internal/cli/base_command.py”,第 143 行,在 main 状态 = self.run(选项,参数) 运行中的文件“/Library/Python/2.7/site-packages/pip/_internal/commands/install.py”,第 366 行 use_user_site=options.use_user_site, 文件“/Library/Python/2.7/site-packages/pip/_internal/req/init.py”,第 49 行,在 install_given_reqs **kwargs 安装中的文件“/Library/Python/2.7/site-packages/pip/_internal/req/req_install.py”,第 760 行 use_user_site=use_user_site, pycompile=pycompile, 文件“/Library/Python/2.7/site-packages/pip/_internal/req/req_install.py”,第 382 行,在 move_wheel_files 警告脚本位置=警告脚本位置, 文件“/Library/Python/2.7/site-packages/pip/_internal/wheel.py”,第 326 行,在 move_wheel_files 断言 info_dir, "%s .dist-info 目录未找到" % req AssertionError: only .dist-info directory not found

所以,尝试手动下载它

pip download only

导致

仅收集 为包运行 setup.py (path:/private/var/folders/jp/6s5zvb6s0kb19qdgy33sbkf40000gq/T/pip-download-C2CG6U/only/setup.py) egg_info 仅生成项目名称未知的元数据。 修复您的#egg=only 片段。 未知下载成功

我不太确定如何解决这个问题。如果我尝试继续安装,不管

pip install only-1.0.2.tar.gz --user

处理./only-1.0.2.tar.gz 为收集的包裹建造轮子:未知 为 UNKNOWN 运行 setup.py bdist_wheel ... 完成 存放在目录:/Users/admin/Library/Caches/pip/wheels/13/bb/2c/bbbba0f8e56cc66e91a845dc17f9ba7045e5871aa88062798f 成功构建 UNKNOWN 安装收集的包:未知 找到现有安装:未知 0.0.0 卸载 UNKNOWN-0.0.0: 成功卸载 UNKNOWN-0.0.0 成功安装 UNKNOWN-0.0.0

导致此“未知”安装,因为它显示在 pip 列表中。现在,谷歌搜索显示有些人有同样的问题,他们可以通过更新 setuptools 来解决它。这台笔记本电脑的 setuptools 版本是 1.1.6,所以我尝试更新它

pip install setuptools --upgrade --user

收集设置工具 使用缓存的https://files.pythonhosted.org/packages/82/a1/ba6fb41367b375f5cb653d1317d8ca263c636cff6566e2da1b0da716069d/setuptools-40.5.0-py2.py3-none-any.whl applescript 0.0.1 只需要,未安装。 applescript 0.0.1 需要 temp,未安装。 安装收集的包:setuptools 成功安装 setuptools-40.5.0

它说它成功安装了 setuptools 40.5,但它没有因为 pip 列表保持不变。我回到第一方,因为我只需要安装包(和临时),但这会导致“未知”安装。 Applescript 是 0.0.1 版。我无法升级它,因为它只尝试安装软件包,但失败了。

我的猜测是我需要在仅安装(和临时)软件包时解决 egg-info 问题,但我不知道如何解决。有谁知道如何解决这个安装问题?

【问题讨论】:

    标签: python macos python-2.7 pip


    【解决方案1】:

    我跑了这个

    pip install setuptools --upgrade

    ...然后在我安装 #egg\UNKNOWN 软件包时再次安装。

    【讨论】:

      【解决方案2】:

      我找到了解决方法。如果人们有类似的问题,我希望这会有所帮助:

      我按照setuptools规范手动写了一个setup.py文件。

      from setuptools import setup, find_packages
      
      setup(name='only',
            version='1.0.2',
            packages=find_packages(),
           )
      

      然后进入下载包的解压文件夹(在这种情况下仅在 pip 下载后,进入 only-1.0.2 目录)。执行

      python setup.py install
      

      你很高兴。

      【讨论】:

        猜你喜欢
        • 2012-05-18
        • 2011-05-06
        • 1970-01-01
        • 2015-03-13
        • 2011-02-17
        • 1970-01-01
        • 1970-01-01
        • 2017-03-08
        • 2015-06-19
        相关资源
        最近更新 更多