Не удается импортировать flask-marshmallow в проект python3

#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.

pipfile.lock

Когда я начал кодировать, я смог импортировать 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 . Я надеюсь, что это может помочь кому-то еще в подобной ситуации!