Не удается найти модуль при запуске скрипта Python из другого скрипта Python - PullRequest
0 голосов
/ 28 июня 2019

У меня есть простой скрипт, который использует колбу.

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    text = '<h2>Text: </h2><form><input name="firstname" type="text">'
    select = '<h2>Select: </h2><select name="cars">' + \
              '<option value="volvo">Volvo</option>' + \
              '<option value="saab">Saab</option>' + \
              '<option value="fiat">Fiat</option> ' + \
              '<option value="audi">Audi</option>' + \
            '</select>'
    multiselect = '<h2>Multiselect: </h2><select name="mCars" multiple>' + \
              '<option value="volvo">Volvo</option>' + \
              '<option value="saab">Saab</option>' + \
              '<option value="fiat">Fiat</option> ' + \
              '<option value="audi">Audi</option>' + \
            '</select>'
    textarea = '<h2>Textarea: </h2><textarea name="message" rows="10" cols="30">' + \
                'The cat was playing in the garden.' + \
                '</textarea>'
    button = '<h2>Button</h2><button type="button" onclick="alert(\'Hello World!\')">Click Me!</button>'
    # datalist = '<h2>Datalist</h2><datalist id="browsers">' + \
    #               '<option value="Internet Explorer">' + \
    #               '<option value="Firefox">' + \
    #               '<option value="Chrome">' + \
    #               '<option value="Opera">' + \
    #               '<option value="Safari">' + \
    #             '</datalist> '
    return '<h1>Sample Form</h1>' + \
           text + \
           select + \
           multiselect + \
           textarea + \
           button


if __name__ == '__main__':
    app.run()

Я пытаюсь запустить его из другого файла с именем runner.py

subprocess.call(['python', get_driver_file_path(Settings.TestProjectPath)])

Я получаю сообщение об ошибке, что не удается найти модуль фляги:

Traceback (most recent call last):
  File "D:\Dev\Python\python-testing-framework\Fitv\FitvTests/TestProjects/Flask_App/app.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'

Колба настроена в проекте, хотя.Если я просто запускаю правой кнопкой мыши> запустить в Pycharm, он работает нормально.

enter image description here

Почему он не может найти модуль при запуске из другого файла?

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Я столкнулся с подобной проблемой в pycharm. Попробуйте следующие шаги, если вы используете conda: -

  1. Сначала активируйте виртуальный env в приглашении anaconda Конда активировать виртуальное_имя_имя.

  2. Перейдите к пути, где установлен pycharm.

  3. Запуск Pycharm.

Вышеуказанные шаги должны решить вашу проблему.

0 голосов
/ 28 июня 2019

Добавьте путь к subprocess.sys.path или sys.path, где два одинаковых.

subprocess.sys.path.append("your virtualenv path")
...