首页 > 解决方案 > Pip 无法在 Vagrant 框中安装软件包,它说缺少一个不存在的 cymem 文件

问题描述

我正在使用 Vagrant 在 Windows 上编辑一个在 Linux 机器上编写的 Python 项目。这是 Vagrantfile 的文本:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"

config.vm.provider "virtualbox" do |v|
  v.name = "medaCy_box"
  end

config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y python3 python3-pip
    python3 -m pip install --upgrade pip
    pip3 install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz#egg=en_core_web_sm-2.0.0
    pip3 install -e /vagrant
SHELL
end

当它提供时,控制台中的这两行代码很突出:

/tmp/vagrant-shell: line 4:  2903 Killed pip3 install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz#egg=en_core_web_sm-2.0.0

/tmp/vagrant-shell: line 5:  2911 Killed     pip3 install -e /vagrant

我决定通过 SSH 连接到 Vagrant 并从那里的命令行运行这两个步骤,看看是否可以获得更多信息。我还尝试安装一些单独使用的包的依赖项。每当我尝试使用 pip3 安装软件包时,都会收到以下两条错误消息中的一条或两条:

Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/home/vagrant/.local/lib/python3.6/site-packages/cymem-2.0.2.dist-info/RECORD'
FileNotFoundError: [Errno 2] No such file or directory: '/home/vagrant/.local/lib/python3.6/site-packages/cymem-2.0.2.dist-info/METADATA'

鉴于 cymem 的明显重要性,我尝试安装它并收到此错误:

Requirement already satisfied: cymem in /home/vagrant/.local/lib/python3.6/site-packages (2.0.2)
No metadata found in /home/vagrant/.local/lib/python3.6/site-packages
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/home/vagrant/.local/lib/python3.6/site-packages/cymem-2.0.2.dist-info/METADATA'

我导航到/home/vagrant/.local/lib/python3.6/site-packages/cymem-2.0.2.dist-info/,而 METADATA 文件实际上在那里并且是非空的。

我不知道为什么当我能够导航到并打开它时,我会遇到与该文件不存在有关的问题。任何澄清将不胜感激。

标签: pythonpipvagrant

解决方案


推荐阅读