#python #virtualenv #windows-subsystem-for-linux #vscode-remote
Вопрос:
Я использую компьютер с Windows 10 и хочу настроить среду разработки WSL. Я открыл vscode в WSL и все настроил. Установленный pip и т.д.
Я использую pipenv для установки зависимостей. После этого мой веб-сайт не запустится, потому что пакет python не может быть найден:
Exception has occurred:
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?
File "/mnt/d/dev/django_appelent_api/manage.py", line 11, in main
from django.core.management import execute_from_command_line
The above exception was the direct cause of the following exception:
File "/mnt/d/dev/django_appelent_api/manage.py", line 13, in main
raise ImportError(
File "/mnt/d/dev/django_appelent_api/manage.py", line 22, in <module>
main()
Теперь, когда я посмотрел на virtualenv
папку (чтобы посмотреть, был ли там пакет), я увидел разницу между моим windows venv и моим ubuntu venv. В этой папке установлены пакеты Windows:
C:Users<username>\.virtualenvsdjango_appelent_api-8qkCZVASLibsite-packages
и ubuntu, установленная в этой папке:
\wsl$Ubuntu-20.04home<username>\.localsharevirtualenvsdjango_appelent_api-PLA7kcVHlib
Может ли это объяснить, почему у меня возникла эта ошибка? Windows установлена в lib/site-пакетах, в то время как ubuntu поместила между ними папку под названием python3.8.
Мой отладочный файл (в VSCODE) выглядит так:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\manage.py",
"args": [
"runserver"
],
"django": true
},
{
"name": "Python: Django on WSL",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"runserver"
],
"django": true
}
]
}