关于 virtualenv

在安装完虚拟环境的包之后,在虚拟环境中还是能用pip freeze 查看到环境外的包,是因为安装的问题吗?有没有什么解决方法?使用的3.10.8

  • 这篇文章讲的很详细,请看:解决virtualenv虚拟环境中pip和python路径仍为本地或权限不足
  • 除此之外, 这篇博客: pip 安装和使用中的 virtualenv 虚拟环境中 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • Linux 或 MacOS
    $VIRTUAL_ENV/pip.conf

    Windows
    %VIRTUAL_ENV%\pip.ini

  • 以下回答由chatgpt基于相关博客总结生成:

    经分析可能是因为虚拟环境中未正确隔离Python库导致的。可以尝试以下步骤解决问题:

    1. 确认使用的Python版本是否正确,并使用pip命令安装virtualenv模块(具体请参考参考资料段落4)。同时确认Python的环境变量配置是否正确,例如是否指向了虚拟环境中的Python版本。

    2. 利用virtualenv创建一个新的虚拟环境。

    3. 激活此虚拟环境,并使用pip命令安装需要的Python包,例如:

    source <虚拟环境路径>/bin/activate
    pip install <包名>
    
    1. 如果仍然出现问题,可能是由于虚拟环境中未正确隔离Python库导致的。此时可以使用批处理命令,快速替换指定操作目录env_nmf/bin下所有文件中旧路径为新路径(具体请参考参考资料段落5)。

    2. 最后再次确认是否正确激活了虚拟环境,并使用pip freeze命令查看当前虚拟环境中安装的包,例如:

    pip freeze
    

    详细步骤如下:

    # 确认使用的Python版本是否正确,并使用pip命令安装virtualenv模块
    pip install virtualenv
    
    # 利用virtualenv创建一个新的虚拟环境
    virtualenv <虚拟环境路径>
    
    # 激活此虚拟环境,并使用pip命令安装需要的Python包
    source <虚拟环境路径>/bin/activate
    pip install <包名>
    
    # 如果仍然出现问题,使用批处理命令,快速替换指定操作目录env_nmf/bin下所有文件中旧路径为新路径
    sed -i "s/原始字符串/新的字符串/g" `grep 原始字符串 -rl 指定操作目录`
    
    # 最后再次确认是否正确激活了虚拟环境,并使用pip freeze命令查看当前虚拟环境中安装的包
    pip freeze