Saya mengikuti tutorial Flask di sini:
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Saya sampai pada titik di mana saya mencoba ./run.py dan saya mendapatkan:
Traceback (most recent call last):
File "./run.py", line 3, in <module>
from app import app
File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module>
from flask import Flask
ImportError: No module named flask
Ini terlihat mirip dengan:
ImportError: Tidak ada modul bernama flask
Tetapi solusi mereka tidak membantu. Untuk referensi, saya tidak memiliki folder bernama labu yang satu pengguna disebutkan dapat menyebabkan masalah.
import flask
Anda tidak memiliki kesalahan? Apakah mungkin Anda memiliki versi python di komputer Anda?import sys; print sys.path
file tersebut (sebelum baris tempat kesalahan terjadi) dan juga menjalankannya di prompt interaktif?Jawaban:
Coba hapus virtualenv yang Anda buat. Kemudian buat virtualenv baru dengan:
Kemudian:
Sekarang mari aktifkan virtualenv:
Sekarang Anda akan melihat
(flask)
di sebelah kiri baris perintah.Mari instal flask:
Kemudian buat file bernama
hello.py
(CATATAN: lihat diUPDATE Flask 1.0.2
bawah):dan jalankan dengan:
UPDATE Flask 1.0.2
Dengan rilis flask baru, tidak perlu menjalankan aplikasi dari skrip Anda.
hello.py
akan terlihat seperti ini sekarang:dan jalankan dengan:
Pastikan berada di dalam folder tempat Anda
hello.py
menjalankan perintah terbaru.Semua langkah sebelum pembuatan hello.py juga berlaku untuk kasus ini
sumber
Untuk penggunaan python 3
sumber
Satu-satunya cara yang bisa saya selesaikan adalah dengan menambahkan dir python pengguna saya ke file myapp.wsgi. Sebagai contoh:
Saya kira jika Anda menginstal paket di lingkungan global, Anda seharusnya tidak memiliki masalah, tetapi saya menginstal paket python sebagai pengguna.
sumber
export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
Setelah mengaktifkan lingkungan virtual dan menginstal Flask, saya membuat file app.py. Saya jalankan seperti ini:
python -m flask run
. Semoga ini bisa membantu!sumber
Saya memiliki masalah yang sama dengan flasgger.
Alasannya adalah karena saya selalu menggunakan
sudo pip install flask
tetapi untuk beberapa alasan, itu tidak selalu menjadi pilihan. Terkadang, Anda harus melakukannya
pip install flask
Gotcha lain adalah terkadang orang mengetik
pip install Flask
dengan topi F.Posting ini di sini kalau-kalau ada yang buntu. Beri tahu saya jika itu membantu.
Tautan yang Berguna: Apa perbedaan antara pip install dan sudo pip install?
sumber
inilah yang berhasil untuk saya,
sudo -H pip install flask
Atau untuk pip3 (python3) gunakan:
sudo -H pip3 install flask
Sidenote
Jika Anda menggunakan virtualenv, ada baiknya
pip freeze >> requirements.txt
untuk mengizinkan paket yang diinstal dicantumkan di satu tempat. Thesudo
komando dan-H
bendera. Untuk lebih lanjut tentangsudo
's-H
bendera, lihat Paulus jawabannya . Semoga ini bisa membantu Anda.sumber
Saya menggunakan python2 tetapi menginstal ini: sudo apt-get install libapache2-mod-wsgi-py3
Alih-alih: sudo apt-get install libapache2-mod-wsgi
Memperbaiki instalasi memecahkan masalah tanpa labu.
sumber
Dalam kasus saya, solusinya sesederhana memulai lingkungan virtual saya seperti:
$ venv/scripts/activate
Ternyata saya masih fresh dengan Python :)
sumber
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
Saya juga mengikuti tutorial Flask. Dan saya menemui masalah yang sama. Saya menemukan cara ini untuk memperbaikinya.
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
sumber
Pergi ke file flask di microblog, kemudian aktifkan virtual environment dengan
source bin/activate
, kemudian pergi ke flask / bin dan instal flask, dan paket lainnyapip install flask
,. Anda akan melihat flask terdaftar di dalam direktori bin. Coba jalankan./run.py
lagi dari mikroblog (atau dari mana pun Anda memiliki file).sumber
Bahkan saya juga menyarankan Anda virtualenv, Ini mungkin juga menyelesaikan masalah Anda.
Jika Anda ingin menerapkan di productionserver maka lanjutkan dengan solusi di atas yang lain gunakan virtualenv.
sumber
Inilah yang berhasil untuk saya ketika saya mendapat kesalahan serupa di Windows; 1. Instal virtualenv
Buat virtualenv
labu virtualenv
Arahkan ke Scripts dan aktifkan virtualenv
mengaktifkan
Instal Flask
python -m pip install flask
Periksa apakah labu sudah terpasang
daftar pip python -m
sumber
masuk ke mode interaktif python Anda lalu:
import sys
sys.path
itu akan mencetak jalur Anda. Periksa apakah flask sudah terpasang di sys.path.
Untuk MacOS, jalur python ada di /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Tapi pip akan menginstal paket python secara default di bawah /Library/Python/2.7/site-packages
Itulah mengapa ini tidak berfungsi untuk MacOS.
sumber
Skrip flask bagus untuk memulai server pengembangan lokal, tetapi Anda harus memulai ulang secara manual setelah setiap perubahan pada kode Anda. Itu tidak bagus dan Flask bisa melakukannya lebih baik. Jika Anda mengaktifkan dukungan debug, server akan memuat ulang dirinya sendiri pada perubahan kode, dan itu juga akan memberi Anda debugger yang berguna jika terjadi kesalahan. Untuk mengaktifkan mode debug, Anda dapat mengekspor variabel lingkungan FLASK_DEBUG sebelum menjalankan server: misalnya file Anda adalah hello.py
sumber
dalam kasus saya menggunakan Docker, file .env saya tidak disalin, jadi env vars berikut tidak disetel:
.env.local:
FLASK_APP=src/app.py
jadi saya
Dockerfile
harus memasukkan:yang direferensikan di docker-compose.yml
env_file: ./env/.env.local
Hal lain yang harus saya perhatikan adalah variabel jalur untuk memastikan lingkungan saya digunakan
sumber
jawaban saya hanya untuk semua pengguna yang menggunakan proyek Web Visual Studio Flesk:
Cukup Klik Kanan pada "Lingkungan Python" dan Klik untuk "Tambahkan Lingkungan"
sumber
Jika Anda menggunakan Pycharm maka ini adalah masalah lingkungan virtual.
Jadi, pada saat membuat proyek Python Anda, Anda harus memilih opsi "Penerjemah yang ada" -> klik "Penerjemah sistem" -> pilih opsi yang benar, misalnya "* \ AppData \ Local \ Programs \ Python \ Python3.6 \ python.exe ".
Anda juga dapat menggunakan 'New Virtual Env', tetapi saya baru saja memberikan perbaikan cepat yang seharusnya berfungsi untuk pengguna Pycharm.
sumber
Hal lain - jika Anda menggunakan python3, pastikan Anda memulai server dengan
python3 server.py
, bukanpython server.py
sumber
Ini berfungsi untuk saya setelah meningkatkan pip:
Temukan jawabannya di sini: https://stackoverflow.com/a/49748494/3197202
Lalu saya bisa menginstal flask:
sumber