【问题标题】:Issues with Django in virtual enviromentDjango 在虚拟环境中的问题
【发布时间】:2021-11-29 03:19:23
【问题描述】:

我有一个安装在 WSL ubuntu 中的 python 应用程序,我试图链接我的 VSCode(从 Windows 到它)。我在完成这项工作时遇到了一些麻烦,希望能得到帮助。

情况

在运行我需要的脚本时(在 VSCode 终端中)出现以下错误。 ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment? (请注意我在虚拟环境中)。

然后我返回 Ubuntu 并运行 python3 -m django --version,它返回 3.2.8

我回到 VSCode 虚拟环境并运行显示 /mnt/h/Documents/Projects/React/Myplace/venv/bin/python: No module named django 的相同脚本

所以我想好吧,也许我可以安装它并运行sudo pip install Django==3.2.8,它会返回

Requirement already satisfied: Django==3.2.8 in /usr/local/lib/python3.8/dist-packages (3.2.8) Requirement already satisfied: sqlparse>=0.2.2 in /usr/local/lib/python3.8/dist-packages (from Django==3.2.8) (0.4.2) Requirement already satisfied: asgiref<4,>=3.3.2 in /usr/local/lib/python3.8/dist-packages (from Django==3.2.8) (3.4.1) Requirement already satisfied: pytz in /usr/local/lib/python3.8/dist-packages (from Django==3.2.8) (2021.3)

鉴于此,我目前不确定如何进行。我想我还应该提到我使用创建我的虚拟环境 sudo pip3 install virtualenv

virtualenv venv

source venv/bin/activate

任何帮助将不胜感激。

问候

更新

Django not installing in virtualenv 我遵循了这个问题的建议,并在虚拟环境的 bin 中安装了 django。但它只是一直告诉我缺少包裹。

【问题讨论】:

  • 我也遇到了这个问题解决方法是删除你的virtualenv并创建一个新的。这对我有用。
  • @yousof 你是在 Windows 上安装的吗?你用什么命令来安装你的虚拟环境?
  • 只需删除venv文件夹并通过``` virtualenv venv```命令新建一个。

标签: python django visual-studio-code windows-subsystem-for-linux


【解决方案1】:

你几乎明白了。问题是您的软件包未安装在您的虚拟环境路径中。看看这条消息:

Requirement already satisfied: Django==3.2.8 in /usr/local/lib/python3.8/dist-packages (3.2.8)

如您所见,/usr/local/lib/python3.8/dist-packages 不是/mnt/h/Documents/Projects/React/Myplace/venv/bin/python/dist-packages

要解决问题,您需要:

  1. 创建一个 venv(你已经这样做了)
  2. 激活你的 venv:source <the name of your venv>/bin/activate(你也这样做了)
  3. 安装你的依赖:pip install -r <requirements file path>pip install <packages names>

通过阅读安装命令的输出,确保您的软件包安装在 /mnt/h/Documents/Projects/React/Myplace/venv/bin/python/dist-packages 中。确认后,您应该可以运行您的代码了。

【讨论】:

  • 但这就是问题所在,当我运行第 3 步(在虚拟环境中)时,它并没有尝试将其安装在 /venv/bin/python/dist-packages/ 中,而是说它在 /usr/local/lib/python3.8/dist-packages 中找到。我可以以某种方式更改安装路径吗?
  • 这很奇怪。要从等式中删除 VSCode,请尝试使用 cmd、powershell 或 wsl shell 运行这些命令。
  • 同样的,我删除了virtual envi,进入了WSL shell,但是一旦我进入venv,它就对Django一无所知
  • 确保您使用的是pip,它位于您的venv 中。检查pip --version。它应该告诉您 pip 是从您的 venv 内部还是从您的系统运行。
  • pip 21.2.4 来自 /mnt/h/Documents/Projects/React/Myplace/venv/lib/python3.8/site-packages/pip (python 3.8)
猜你喜欢
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 2022-01-11
相关资源
最近更新 更多