Python flask-cors ImportError: нет модуля с именем flask-cors Raspberry pi

Я следую руководству flask-cors из документации здесь: https://pypi.python.org/pypi/Flask-Cors

но когда я установил его на свой raspberry pi и запустил приложение python, я получаю эту ошибку

Traceback (most recent call last): File "app.py", line 3, in <module> from flask_cors import CORS, cross_origin ImportError: No module named 'flask_cors'

вот мой скрипт на Python:

from flask import Flask
from Main import main
from flask_cors import CORS, cross_origin    
app = Flask(__name__)
CORS(app)
main = main() 

@app.route('/turn' ,methods=['GET', 'OPTIONS'])
def index():
  return main.turn()

if __name__ == '__main__': 
  app.run(debug=True, host='0.0.0.0')

person Nelson Candia    schedule 09.02.2018    source источник
comment
$ pip install -U flask-cors и убедитесь, что он устанавливается в правильный каталог.   -  person JacobIRR    schedule 10.02.2018
comment
я уже сделал это не работает   -  person Nelson Candia    schedule 10.02.2018
comment
я имею в виду, он говорит, что уже установлен, но не работает   -  person Nelson Candia    schedule 10.02.2018
comment
если вы print(sys.path), вы должны убедиться, что flask_cors находится внутри одного из этих печатных каталогов.   -  person JacobIRR    schedule 10.02.2018
comment
NameError: имя 'sys' не определено   -  person Nelson Candia    schedule 10.02.2018
comment
ты должен import sys   -  person JacobIRR    schedule 10.02.2018
comment
что мне делать, если его нет ни в одном из этих печатных каталогов? это то, что у меня есть ['/home/pi/Downloads/tesis', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-arm-linux-gnueabihf', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']   -  person Nelson Candia    schedule 10.02.2018
comment
Если его там нет, вам нужно найти пакет, который вы установили с помощью pip, и переместить его в один из этих каталогов. Чтобы предотвратить это, вы можете изменить настройки пипса.   -  person JacobIRR    schedule 10.02.2018


Ответы (8)


Если вы import sys и print(sys.path), это покажет вам, где установлены ваши доступные пакеты.

В случае, если pip установлен flask_cors вне одного из этих каталогов, вам следует переместить файл в один из каталогов или вы можете sys.path.append(<your path to flask_cors>).

Чтобы предотвратить установку pip в плохой каталог, я бы порекомендовал этот ответ

person JacobIRR    schedule 09.02.2018
comment
Так что да, в основном проблема в raspberry pi заключается в том, что когда вы устанавливаете пакет с помощью pip, есть разница с pip для python 2 и pip3 для python 3. Итак, самый простой способ установить flask-cors на raspberry для python 3 - с pip3 install -U flask-cors, а не pip install -U flask-cors. теперь он работает отлично. - person Nelson Candia; 10.02.2018

Наконец-то это сработало для меня

pip install -U flask-cors
person Moureen Caroline    schedule 07.07.2019

Я потратил день, пытаясь решить эту проблему. Вот мои шаги: сначала я закрыл свой VSCODE и снова открыл его, затем запустил

pip uninstall flask
pip uninstall flask_cors
pip3 install flask
pipenv shell
pipenv install flask_cors
pip install pipreqs
git add .
git commit -am "New cor resolved"
git push heroku master
person Olu Ayeni    schedule 18.05.2020

У меня была аналогичная проблема, когда после установки flask_cors он все еще давал мне ModuleNotFoundError. Попробуй это:

sudo pip3 uninstall flask_cors
sudo pip3 install Flask-Cors

Это небольшая разница, но у меня это сработало. Несмотря на то, что кажется, что flask_cors устанавливает пакет и так написано на python при его фактическом импорте, фактическое имя пакета, установленного с помощью pip, - Flask-Cors.

person Russell Molimock    schedule 09.07.2020
comment
У меня тоже работал с pip3. Я нахожусь в Windows 10 с установленными python 2 и 3 - person Benjamin Caure; 06.12.2020

Если вы столкнулись с этой проблемой в Conda env, ap per conda documentation, используйте-

conda install -c conda-forge flask_cors
person Keerthi Reddy    schedule 15.02.2021

Следующая команда работает в моем случае. Измените версию Python в соответствии с вашей системой.

python3.7 -m pip install flask
person Sameera K    schedule 01.08.2020

Если вы используете pipenv, вам может потребоваться также включить виртуальную среду, набрав:

pipenv shell

находясь в корневом каталоге (с файлом pipfile.lock в нем).

person I_am_learning_now    schedule 20.03.2021

Если вы запускаете свой скрипт python как sudo, тогда ...

sudo pip install -U flask-cors
person Good4Nothing    schedule 30.03.2019