#python #python-3.x #flask #marshmallow
#python #python-3.x #flask #marshmallow
Вопрос:
У меня установлен только python 3.8.5.
Я впервые начал погружаться в Python и Flask (я пришел со стороны javascript). Я уже столкнулся с интересной проблемой только в первых нескольких строках кода.
Я смог запустить pipenv install flask flask-sqlalchemy flask-marshmallow marshmallow-sqlalchemy
, и все они, казалось, были установлены просто отлично. Все они отображаются в pipfile.lock. flask-marshmallow имеет версию 0.13.0.
Когда я начал кодировать, я смог импортировать flask и flask_sqlalchemy без проблем. Intellisense даже помог мне с ними. Но from flask-marshmallow import Marshmallow
, похоже, не сработало.
При запуске python app.py
я получаю следующую ошибку
Traceback (most recent call last):
File "app.py", line 3, in <module>
from flask_marshmallow import Marshmallow
ModuleNotFoundError: No module named 'flask_marshmallow'
Я попытался удалить flask-marshmallow и marshmallow и переустановить. Консоль всегда сообщает, что установка прошла успешно, но, похоже, я не могу ее импортировать, когда все остальные пакеты, похоже, работают нормально.
Какое отличное начало для нового языка xD Вот пока весь файл для справки, если я удалю строку marshmallow, она запустится без каких-либо проблем
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
import os
app = Flask(__name__)
if __name__ == "__main__":
app.run(debug=True)
Ответ №1:
Убедитесь, что, поскольку вы создали pipenv
, вы правильно указали путь к интерпретатору Python в своей IDE.
Я столкнулся с точной проблемой (и именно так я задал этот вопрос). Я использую VS code, использовал python3.8
и pipenv
.
Несмотря на то, что я установил пакеты с помощью pip3
, я столкнулся с проблемами импорта при запуске кода. После тщетного поиска в Интернете я понял, что проблема была очень глупой.
Путь интерпретатора Python ( Cntrl Shift P
-> Select Interpreter
) не был установлен для вновь созданного pipenv
. После того, как я правильно установил путь интерпретатора, код возобновил работу, как ожидалось.
Комментарии:
1. Подтвердил, что это решило мою проблему. В macOS VS Code вам потребуется CMD Shift P, чтобы выбрать интерпретатор python и выбрать pipenv.
Ответ №2:
я бы посоветовал проверить файл пакетов сайта и убедиться, что он установлен в нем, если нет, то он установлен в другом каталоге Также попробуйте использовать его в другом обычном файле python и проверьте, работает ли это тоже Проверьте синтаксис также я знаю, я знаю, что это очевидно, но просто говорю
Комментарии:
1. плюс проверьте, совместим ли он с версией python, потому что есть много пакетов, несовместимых с версией 3.8.x
Ответ №3:
В моем случае я пытался запустить команду flask db init
, и это выдало бы ошибку, указанную выше. Я заставил его работать, запустив команду с правами sudo sudo flask db init
. Я надеюсь, что это может помочь кому-то еще в подобной ситуации!