【问题标题】:virtualenv doesn't work correctly on windowsvirtualenv 在 Windows 上无法正常工作
【发布时间】:2020-08-04 00:24:53
【问题描述】:

我正在尝试将 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 中安装任何模块。可能是什么问题?

更新: 尝试 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 的笔记本电脑上我没有这样的问题。

【问题讨论】:

  • 你试过python -m pip freeze吗?
  • @Dionys 相同的输出

标签: python pip virtualenv python-venv


【解决方案1】:

看来这个问题是由pip的两个版本引起的,或者更新尝试失败。 我建议你尝试关注这些instructions。

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

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

【讨论】:

  • 它从错误的目录启动:(app) user@DESKTOP-JMJSO6O C:\Users\user\Desktop\app\Scripts $ pip --version 警告:pip 被旧脚本调用包装。这将在 pip 的未来版本中失败。请参阅github.com/pypa/pip/issues/5599 以获取有关解决潜在问题的建议。为避免此问题,您可以使用“-m pip”调用 Python,而不是直接运行 pip。 pip 20.0.2 从 C:\Users\user\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\pip (python 3.8)
  • 很难像那样阅读它,您可以将其作为代码块编辑到您的问题中,并在 venv 之外添加相同命令的输出。如果您可以指定运行它的正确目录,它也可能很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-17
  • 2016-04-11
  • 1970-01-01
  • 2019-09-01
  • 2021-01-14
  • 2021-10-30
  • 1970-01-01
相关资源
最近更新 更多