我从virtualenv的pip安装中得到了这个错误:
struct X1{};
struct X2{};
struct Y:X1,X2{};
struct A {
virtual void foo( Y* ) = 0;
virtual ~A() {}
}
struct B1:A {
virtual void foo( Y* ptr ) final override { foo( static_cast<X1*>(ptr) ); }
virtual void foo( X1* ) = 0;
}
struct B2:A {
virtual void foo( Y* ptr ) final override { foo( static_cast<X2*>(ptr) ); }
virtual void foo( X2* ) = 0;
}
虚拟环境的python工作,系统python和pip工作(所有python3)。
答案 0 :(得分:2)
原来 virtualenv硬链接python可执行文件到系统python ,所以当我升级python时,它与虚拟env的pip安装不一致。
在此处发布以供其他人查找,以防万一发生这种情况。
解决方法是擦除pyenv
文件夹,然后重新安装一个新的virtualenv(如果你一直在使用requirements.txt
文件,这就是虚拟环境的目的!
答案 1 :(得分:0)
首先,尝试更新pip
pip install --upgrade pip
如果这不能解决问题,我会尝试卸载pip然后重新安装。
删除try:
sudo pip uninstall pip
然后重新安装。
pip install -U pip setuptools
我也假设你正在使用linux或mac。在Windows命令上有所不同。
答案 2 :(得分:0)
根据pip documentation,您可以在虚拟环境激活时键入以下命令在虚拟环境中安装pip:
python -m ensurepip --upgrade
请注意,ensurepip 是一个内置的 Python 模块,用于在您的 Python 环境中安装 pip。
如果您不想启动全新的虚拟环境并且希望保留您的依赖项,则可以使用此解决方案