Проект фляги скомпилировать в cython, затем развернуть или запустить

У меня есть приложение Python flask, и мне нужно скомпилировать с помощью cython, а затем развернуть или запустить его. Следуя это руководство, я могу скомпилировать простое приложение на Python. Мне нужно сделать то же самое с простым приложением для фляги, а затем запустить его. моя фляга == 1.0.2

flaskPractise.py:

#!flask/bin/python3

from flask import Flask, url_for
app = Flask(__name__)

@app.route('/')
def api_root():
    return 'Welcome'

@app.route('/articles/<articleid>')
def api_article(articleid):
    return 'You are reading ' + articleid

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

compile.py:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [
    Extension("flaskPractise", ["flaskPractise.py"])
]
setup(
    name = 'My Program Name',
    cmdclass = {'build_ext': build_ext},
    ext_modules = ext_modules
)

main.py:

from logic import main
main()

после запуска команды python3 compile.py build_ext --inplace создается файл flaskPractise.c и создается flaskPractise.cpython-37m-x86_64-linux-gnu.so. как это запустить?

Согласно документам, просто import flaskPractise и flaskPractise.app.run()
Fine 08.10.2018 10:39

Вы когда-нибудь заставляли это работать? Я попытался воспроизвести это и последовал за @Fian, но я не могу импортировать flaskPractise, я продолжаю получать ошибку импорт: не авторизованный `flaskPractise '@ error / Create.c / WriteImage / 1028 в терминале. Я использую это в conda env

JC23 30.11.2018 19:09
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
2
1 345
0

Другие вопросы по теме