首页 > 解决方案 > virtualenv 在 Windows 上无法正常工作

问题描述

我正在尝试将 venv 用于我的项目,但它无法正常工作。所以首先我要激活我的venv,然后使用命令“pip freeze”来检查我的计算机是否没有安装任何模块。还有一个输出^

user@DESKTOP-JMJSO6O C:\Users\user\Desktop\app\Scripts                                          
$ activate                                                                                        

(app) user@DESKTOP-JMJSO6O C:\Users\user\Desktop\app\Scripts                                    
$ pip freeze                                                                                      
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.     
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.        
accessify==0.3.1                                                                                  
appdirs==1.4.3                                                                                    
attrs==19.3.0                                                                                     
backcall==0.1.0                                                                                   
beautifulsoup4==4.8.2                                                                             
bleach==3.1.0                                                                                     
bs4==0.0.1    
...                                                                                    

这是不正确的,因为我没有在这个 venv 中安装任何模块。可能是什么问题呢?

UPD:尝试 pip --version 与 venv:

(app) user@DESKTOP-JMJSO6O C:\Users\user\Desktop\app\Scripts $ pip --version
WARNING: pip is being invoked by an old script wrapper. This will fail in a future 
version of pip. Please see github.com/pypa/pip/issues/5599 for advice on fixing the 
underlying issue. To avoid this problem you can invoke Python with '-m pip' instead 
of running pip directly. pip 20.0.2 from 
C:\Users\user\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\pip (python 3.8)

我也发现了另一个问题。例如,我在一个目录中有两个 python 文件:

- app/
    - main.py
    - conf.py

当我尝试conf作为模块导入时main.py,出现错误: ModuleNotFoundError: No module named 'conf' 也许问题出在 Windows 上?因为在装有 Windows 的笔记本电脑上我没有任何类似的问题。

标签: pythonpipvirtualenvpython-venv

解决方案


看来这个问题是由两个版本引起的pip,或者更新尝试失败。我建议您尝试按照这些说明进行操作。

或者尝试在 virtual-env 内外运行where pippip --version寻找差异。

我希望你能弄清楚这一点,github线程表明问题仍然没有明显的解决方案。


推荐阅读