VSCODE: конфликтующие среды Python, подозревающие, вызывая модульнотфундеррорPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 VSCODE: конфликтующие среды Python, подозревающие, вызывая модульнотфундеррор

Сообщение Anonymous »

Я запускаю WSL: Ubuntu через VSCODE. В терминале у меня есть виртуальная среда, .venv, активирована. Бэкэнд. Я могу запустить приложение Flask независимо через Flask -App Py/Routes -debug run и иметь функцию, настроенную в файле «main.js» в приложении электронов, который позволяет двум работать одновременно, как: < /p>

Код: Выделить всё

flaskProc = require('child_process').spawn('py', ['./py/routes.py']);
flaskProc.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
< /code>
Файлы структурированы так, чтобы электронное приложение было в родительской папке, а в этой папке находится папка, называемая «py», которая содержит все файлы для приложения Flask, и «.venvv " папка. Для простоты все маршруты, указывающие на папку «.venv» и ее дети, будут сокращены до «[...]/py/.venv/»
 Проблема 
Это происходит, когда я запускаю приложение Electron с NPM Start 
через терминал, приложение Flask также работает. Когда я делаю это, дается следующая ошибка: < /p>

Код: Выделить всё

stderr:     from jsonschema import validate
ModuleNotFoundError: No module named 'jsonschema'
I Ran Ran Pip freeze> tedding.txt и обнаружил, что «jsonschema» был, действительно,

Попытки Решите < /h2>
Я подозревал, что это была некоторая ошибка, вызванная неправильной установкой модуля, и добавил следующие строки в приложение Flask и запустили его независимо: < /p>

Код: Выделить всё

import sys

print("Executing in", sys.executable)
if "jsonschema" in sys.modules:
print("JSONSchema is in the modules")
else:
print("jsonschema isn't in the modules")
< /code>
Это печатает: < /p>
Executing in [...]/py/.venv/bin/python3
JSONSchema is in the modules
Проверка интерпретатора, он имел выбранного интерпретатора как «[...]/py/.venv/bin/python3.10», поэтому я изменил его на Python3 и перезапущенный VSCode. Я еще раз активировал виртуальную среду и независимо запустил приложение Flask, которое все еще указывало на Python3, затем запустил приложение Electron, которое все еще дало ошибку. Я снова проверил интерпретатора и обнаружил, что, хотя выбранное интерпретатор «[...]/py/.venv/bin/python3», интерпретатор рабочей области все еще остается "[...]/py/.venv/bin/python3 .10 "< /p>

< /p>
и когда я попытался запустить Pip install jsonschema < /code> и Python -m Pip Install Jsonschema , я получил следующие сообщения:

Код: Выделить всё

Requirement already satisfied: jsonschema in ./py/.venv/lib/python3.10/site-packages (3.2.0)
Requirement already satisfied: six>=1.11.0 in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (1.17.0)
Requirement already satisfied: attrs>=17.4.0 in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (25.1.0)
Requirement already satisfied: setuptools in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (59.6.0)
Requirement already satisfied: pyrsistent>=0.14.0 in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (0.20.0)
< /code>
, которые говорят, что они устанавливают в Python3.10. Это подтверждается при использовании Python -m Pip Show jsonschema 
, в котором говорится, что местоположение "[...]/py/.venv/lib/python3.10/site -packages"
edit:
Запуск ls -la py/.venv/bin/python* дает:

Код: Выделить всё

lrwxrwxrwx 1   7 Feb 18 11:46 py/.venv/bin/python -> python3
lrwxrwxrwx 1   16 Feb 18 11:46 py/.venv/bin/python3 -> /usr/bin/python3
lrwxrwxrwx 1   7 Feb 18 11:46 py/.venv/bin/python3.10 -> python3
< /code>
, который показывает, что /python и /python3.10 указывают на «python3», а /python3 указывает на " /usr /bin /python3".  Я думаю, что это означает, что Python3.10 является ветвью Python3, поэтому проблема в том, что файл «routes.py», работающий в Python3 Имея это в виду, я попытался запустить: py/.venv/bin/python3 -m pip install jsonschema 
для установки модуля в специально Python3, но получил то же «требование, уже удовлетворенное», как и раньше: =1.11.0 in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (1.17.0)
Requirement already satisfied: pyrsistent>=0.14.0 in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (0.20.0)
Requirement already satisfied: attrs>=17.4.0 in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (25.1.0)
Requirement already satisfied: setuptools in ./py/.venv/lib/python3.10/site-packages (from jsonschema) (59.6.0)
< /code>
Тем не менее, на этот раз, когда я запустил приложение Electron, сообщение об ошибке включало в себя Traceback в файл Routes.py. Я не знаю, что означает это изменение, или что я делаю не так. Кто -нибудь знает, что вызывает этот модуленотфундорр и как его можно исправить?
Спасибо заранее

Подробнее здесь: https://stackoverflow.com/questions/794 ... founderror
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»