Проблема с выполнением скрипта с использованием python3 - PullRequest
0 голосов
/ 13 января 2020

Я создал скрипт python внутри virtualenv и попытался выполнить этот файл. Это мой код:

(env) C:\Users\amitayadav\Documents\Amita_projects\Python\flask_project>python3 app.py
Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'

Выдает ошибку. Однако, когда я запускаю эту команду, она работает нормально:

(env) C:\Users\amitayadav\Documents\Amita_projects\Python\flask_project>python app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 500-586-454
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Я не понимаю, почему это происходит. В чем проблема с командой python3?

Ответы [ 3 ]

1 голос
/ 13 января 2020

Пакеты устанавливаются только для версии Python, для которой настроено использование виртуальной среды, которая обычно запускается как python.

Когда создается виртуальная среда, интерпретатор копируется для использования в этой среде. Запустив интерпретатор python3, вы можете получить интерпретатора вне вашей среды, в котором не установлены необходимые зависимости.

Если вы хотите, чтобы в виртуальной среде использовалась версия Python 3 вам может потребоваться создать virtualenv с необязательным флагом --python, чтобы указать, что:

virtualenv --python=python3 my_virtual_env_directory

Затем просто снова установите необходимые пакеты, как и раньше:

pip install flask

Затем вы просто запустите как обычно:

$ python
Python 3.6.7 (default, Oct 29 2018, 11:42:59) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
>>> 

Правильные версии pip и интерпретатор python неявно используются для установки зависимостей и запуска вашего приложения.

0 голосов
/ 13 января 2020
0 голосов
/ 13 января 2020

В ваших глобальных пакетах не установлена ​​библиотека flask. код, который успешно выполняется, выполняется в виртуальной среде, в которой установлена ​​зависимость flask.

Запустите команду pip install flask вне виртуальной среды, и он должен запустить приложение flask.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...