Python внутри virtualenv не работает (Django)

TL;DR - Microsoft Store Apps сломаны (0 байт), поэтому интерпретатор Python не может создать процесс и запустить "Python" внутри virtualenv, я не смог следовать многочисленным объяснениям, как изменить путь virtualenv для Python.

Недавно, без каких-либо изменений на моем компьютере/окружении, при выполнении (также пробовал python3, что приводит к тому же):

возникла проблема.
python manage.py runserver

В результате возникла следующая проблема:

Невозможно создать процесс, используя ''C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe''

Когда я копнул глубже, я понял, что все приложения, установленные в этой папке, имеют размер 0 байт, следовательно, они завершены, внезапно. Поэтому я решил, что это не проблема с Django, скорее с самим python.

Я попробовал изменить путь virtualenv для Python.exe, вместо использования версии WindowsApps я установил оригинальный Python с оригинального сайта.

Я не сделал этого, много раз.

Я пробовал: "https://stackoverflow.com/questions/4757178/how-do-you-set-your-pythonpath-in-an-already-created-virtualenv/47184788#47184788" - Добавление пути внутри "activate" и "activate.bat", как

set PYTHONPATH="C:\Users\MyUser\AppData\Local\Programs\Python\Python310\python.exe"

И проблема сохраняется.

Я перепробовал все решения/статьи, которые я нашел в отношении проблемы, с которой я столкнулся. Многие из них утверждают простой результат, в то время как остальные утверждают, что требуется полный рефактор. Даже загрузка из магазина Microsoft не работает, всегда сбой.

Поскольку я не могу удалить сломанные приложения, и я не смог найти способ изменить интерпретатор Python в virtualenv, я здесь, прося вашей помощи.

Заранее спасибо,

Поскольку вы установили python с сайта python.org, убедитесь, что он был правильно добавлен в PATH и вы случайно не используете версию из магазина windows.

  1. Откройте командную строку
  2. Выполните where python, чтобы проверить, какой python использует ваша система.

where python example

Если вы видите только WindowsApps версию python, перечисленную в выводе команды where, то программа установки python, очевидно, не добавила расположение в PATH, поэтому вам придется добавить его вручную.

Также, если вы не ограничены в использовании virtualenv, вы можете попробовать conda.

Как только я начал восстанавливать, я понял это.

При создании virtualenv, python, который я использовал, направлял на:

"C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe"'

Интерпретатор Python сохраняется как "PATH" для выполнения python. Поскольку мой интерпретатор Python из Microsoft Store сломался, я не смог запустить python в виртуальной среде.

  • Venv конфигурирует файл под названием:

pyvenv.cfg

Так виртуальная среда узнает, какой интерпретатор Python использовать. Внутри него первая строка гласит:

home = C:\Users\MyUser\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\

.

Поэтому нам просто нужно перенастроить его на новый путь к интерпретатору Python:

home = C:\Users\MyUser\AppData\Local\Programs\Python\Python310

>

И это сработало для меня.

Спасибо всем за помощника, рад, что все получилось.

Вернуться на верх