ফ্লাস্ক আমদানি ত্রুটি: ফ্ল্যাশ নামক কোনও মডিউল নেই


109

আমি এখানে ফ্লাস্ক টিউটোরিয়াল অনুসরণ করছি:

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

আমি যেখানে চেষ্টা করি সেই পয়েন্টে পৌঁছেছি //run.py এবং আমি পেয়েছি:

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

এটি দেখতে অনুরূপ:

ImportError: ফ্লাস্ক নামে কোনও মডিউল নেই

তবে তাদের সমাধানগুলি সহায়ক নয়। রেফারেন্স জন্য, আমি না একটি ফোল্ডার নামক বোতল যা একজন ব্যবহারকারী উল্লিখিত বিষয় হতে পারে না।


4
@ মালিকব্রাহিমি যখন আমি পাইথন চালনা করি এবং তারপরে ফ্লাস্ক আমদানি করি এবং আমি কোন সংস্করণটি ইনস্টল করেছি তা পরীক্ষা করে এটি "0.10.1" ফিরিয়ে দেয়। সুতরাং দেখে মনে হচ্ছে এটি ইনস্টল করেছি ...
বিস্লেম্যান

4
আপনি বলছেন যদি আপনি অজগরটি চালান এবং তবে আপনার import flaskকোনও ত্রুটি নেই? আপনার কম্পিউটারে অজগরটির সংস্করণগুলি রাখা কি সম্ভব?
এরি

4
আপনি কি import sys; print sys.pathসেই ফাইলটিতে সন্নিবেশ করতে পারেন (ত্রুটিটি ঘটেছিল এমন লাইনের আগে) এবং এটি ইন্টারেক্টিভ প্রম্পটে চালাতে পারেন?
এরি

4
@ari আমি ভার্চুয়াল এনভায়রনমেন্ট জিনিসটি করার চেষ্টা করেছি কিন্তু এটি কোনওরকম গোলমাল করেছে? এবং হ্যাঁ, আমি পাইথন ৩.৩ ব্যবহার করছি তবে আমার মনে হয় আমার প্রায় 2.7 ভাসছে
ব্লেইম্যান

8
আপনি সংস্করণ 3 ব্যবহার করছেন না, আপনি সংস্করণ 2 ব্যবহার করছেন, এবং আপনার ম্যাকটিতে পাইথন সংস্করণ 2 এর দুটি কপি রয়েছে, একটি ওএসএক্সের সাথে এসেছিল এবং অন্যটি আপনি ইনস্টল করেছেন। সুতরাং, সব মিলিয়ে - দেখে মনে হচ্ছে আপনার কাছে পাইথনের তিনটি সংস্করণ রয়েছে; পাইথন 3, পাইথন 2 (আপনি ইনস্টল করেছেন), পাইথন 2 (সিস্টেমটি নিয়ে এসেছেন)। আপনি এখানে সঠিক পরিবেশটি ব্যবহার করছেন না বলে মনে হচ্ছে; আপনি যেখানে ফ্লাস্ক ইনস্টল করেছেন সেটি সিস্টেমের ডিফল্ট নয় এবং এটি সম্ভবত আপনার মাথা ব্যথার কারণ।
বুরহান খালিদ

উত্তর:


152

আপনার তৈরি করা ভার্চুয়ালেনভ মুছে ফেলার চেষ্টা করুন। তারপরে একটি নতুন ভার্চুয়ালেনভ তৈরি করুন:

virtualenv flask

তারপরে:

cd flask

এখন আসুন ভার্চুয়ালেনভকে সক্রিয় করি

source bin/activate

এখন আপনার (flask)কমান্ড লাইনের বাম দিকে দেখতে হবে।

সম্পাদনা করুন: উইন্ডোজগুলিতে এমন কোনও "উত্স" নেই যা লিনাক্স জিনিস, পরিবর্তে অ্যাক্টিভেট.বাট ফাইলটি কার্যকর করে, এখানে আমি এটি পাওয়ারশেল ব্যবহার করে করছি: পিএস সি: \ ডিভি \এপ্রজেক্ট> & .\Flask\Scripts\activate)

আসুন ফ্লাস্ক ইনস্টল করুন:

pip install flask

তারপরে একটি ফাইল তৈরি করুন hello.py(দ্রষ্টব্য: UPDATE Flask 1.0.2নীচে দেখুন):

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

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

এবং এটি দিয়ে চালান:

python hello.py

আপডেট ফ্লাস্ক 1.0.2

নতুন ফ্লাস্ক রিলিজের সাথে আপনার স্ক্রিপ্ট থেকে অ্যাপটি চালানোর দরকার নেই। hello.pyএখন এই মত চেহারা উচিত:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

এবং এটি দিয়ে চালান:

FLASK_APP=hello.py flask run

hello.pyসর্বশেষতম কমান্ডটি চালনার সময় ফোল্ডারের ভিতরে থাকা নিশ্চিত করুন ।

হ্যালো.পি তৈরির আগে সমস্ত পদক্ষেপগুলিও এই ক্ষেত্রে আবেদন করে


4
যতক্ষণ আপনি এটি ভার্চুয়ালেনভ সক্ষম করে এটি চালাবেন ততক্ষণ আপনি এটিকে যে কোনও জায়গায় রাখতে পারেন।
রোলব্যাক

হাই, আমি পাইথনের জন্য খুব নতুন। টার্মিনালে ভ্যুচুয়ালেনভের সাথে সবকিছু ঠিকঠাক কাজ করে। তবে, আমার সমস্যাটি হ'ল আমি আইডিই এটম ব্যবহার করছি ... পরমাণু কি একই ভার্চুয়ালনেভ পরিবেশে কোড চালাতে পারে?
বুগ

57

অজগর 3 ব্যবহারের জন্য

পিপ 3 ইনস্টল ফ্লাস্ক


4
আমার অজগর সংস্করণটি ২.7 থেকে ৩ এ পরিবর্তন করার পরে, এটি কার্যকর হয়েছিল!
রিকার্ডো সিলভা 22

হ্যাঁ এই কাজ! পাইপ ইনস্টল ফ্লাস্কের পরিবর্তে (যা পাইথন 2 এর জন্য), আপনি যদি পাইথন 3 ব্যবহার করেন তবে আপনার পিপ 3 ইনস্টল ফ্লাস্ক বা ফ্লাস্কের অন্যান্য এক্সটেনশনগুলি ব্যবহার করা দরকার। আপনার অজগর সংস্করণটি পরিবর্তন করতে, আপনি ওরফে পাইথন = "পাইথন 3" ব্যবহার করতে পারেন।
কাউরশ 6:51

12

আমি সমাধান করতে পারার একমাত্র উপায় হ'ল আমার অ্যাপ্লিকেশনটিতে পাইথন দিরকে মাইএপ.ওজগি ফাইলটিতে যুক্ত করা। উদাহরণ হিসাবে:

sys.path.append('/home/deployer/anaconda3/lib/python3.5/site-packages')

আমি অনুমান করি যে আপনি যদি বিশ্বব্যাপী পরিবেশে প্যাকেজগুলি ইনস্টল করেন তবে আপনার কোনও সমস্যা হওয়া উচিত নয় তবে আমি আমার পাইথন প্যাকেজগুলি ব্যবহারকারী হিসাবে ইনস্টল করেছিলাম।


বা এটি করেexport PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
কার্লোস অলিভিরা

7

ভার্চুয়াল পরিবেশ সক্রিয় এবং ফ্লাস্ক ইনস্টল করার পরে, আমি একটি app.py ফাইল তৈরি করেছি। আমি এটা ভালো সঞ্চালন করুন: python -m flask run। আশা করি এটি সাহায্য করবে!


কেন এটি কাজ করছে তা নিশ্চিত নয়, সম্ভবত পথে কিছু করার জন্য। এই সম্পর্কে কোন অন্তর্দৃষ্টি?
nscalf

6

ফ্ল্যাসগার নিয়ে আমারও একই সমস্যা ছিল।

তার কারণ ছিল আমি সর্বদা ব্যবহার করি

sudo pip install flask

তবে কিছু কারণে এটি সর্বদা যাওয়ার উপায় নয়। কখনও কখনও, আপনি ঠিক করতে হবে

pip install flask

আরেকটি গ্যাচা হ'ল কখনও কখনও লোকেরা এফ ক্যাপpip install Flask দিয়ে টাইপ করে

কেউ আটকে গেলে এখানে এটি পোস্ট করা। যদি এটি সাহায্য করে তবে আমাকে জানান।

দরকারী লিঙ্ক: পাইপ ইনস্টল এবং সুডো পাইপ ইনস্টলের মধ্যে পার্থক্য কী?


5

এটাই আমার পক্ষে কাজ করেছে,

sudo -H pip install flask

অথবা পাইপ 3 (পাইথন 3) ব্যবহারের জন্য:

sudo -H pip3 install flask

সাইড নোট

আপনি যদি ভার্চুয়ালেনভ ব্যবহার করছেন pip freeze >> requirements.txt তবে ইনস্টল করা প্যাকেজগুলি এক জায়গায় তালিকাভুক্ত করার অনুমতি দেওয়া ভাল ধারণা । sudoকমান্ড -Hপতাকা। sudoএর -Hপতাকা সম্পর্কে আরও জানতে পলের উত্তর দেখুন । আশা করি এটি আপনাকে সহায়তা করবে।


3

আমি পাইথন 2 ব্যবহার করছিলাম তবে এটি ইনস্টল করেছি: sudo apt-get libapache2-mod-wsgi-py3 ইনস্টল করুন

পরিবর্তে: sudo অ্যাপ্লিকেশন- libapache2-mod-wsgi ইনস্টল করুন

ইনস্টলেশন সংশোধন করে কোনও ফ্লাস্ক সমস্যা সমাধান করা হয়নি।


4
আহ এটি সহজ জিনিস। অজগর 3 এ আপগ্রেড করার পরে আমার ডকফাইলে ভুল লিবাপাছে মোড ডাব্লুএসগি ছিল ... একটি +1 আছে
ক্রেচারজ্যাক

3

আমার ক্ষেত্রে সমাধানটি আমার ভার্চুয়াল পরিবেশটি শুরু করার মতোই সহজ ছিল:

$ venv/scripts/activate

দেখা যাচ্ছে যে আমি এখনও পাইথনে সতেজ :)


2
  1. সম্পাদনা করুন /etc/apache2/sites-available/FlaskApp.conf
  2. "WSGIScriptAlias" লাইনের আগে নিম্নলিখিত দুটি লাইন যুক্ত করুন:

WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp WSGIProcessGroup FlaskApp

  1. অ্যাপাচি পুনরায় চালু করুন:service apache2 restart

আমি ফ্লাস্ক টিউটোরিয়ালটিও অনুসরণ করছি nd এবং আমি একই সমস্যার মুখোমুখি হয়েছি I আমি এটি ঠিক করার জন্য এই উপায়টি পেয়েছি।

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world


1

মাইক্রোব্লগ মধ্যে বোতল ফাইল এ যান, তারপর ভার্চুয়াল পরিবেশ সক্রিয় source bin/activate, তারপর বোতল / bin এ যান এবং বোতল ইনস্টল করুন, এবং প্যাকেজ বাকি pip install flask। আপনি বিন ডিরেক্টরি ভিতরে ফ্লাস্ক তালিকাভুক্ত দেখতে পাবেন। ./run.pyমাইক্রোব্লগ (বা আপনার যেখানে ফাইল রয়েছে সেখান থেকে) থেকে আবার চালানোর চেষ্টা করুন ।


1

এমনকি আমিও আপনাকে ভার্চুয়ালেনভের পরামর্শ দিচ্ছি, এটি আপনার সমস্যার সমাধানও করতে পারে।

sudo apt install python-flask

আপনি যদি প্রোডাকশন সার্ভারে স্থাপন করতে চান তবে উপরের সমাধানটি নিয়ে এগিয়ে যান অন্যথায় ভার্চুয়ালেনভ ব্যবহার করুন।


1

উইন্ডোজে যখন আমি একইরকম ত্রুটি পেয়েছি তখন এটি আমার জন্য কাজ করেছিল; 1. ইনস্টল করুন ভার্চুয়ালেনভ

pip install virtualenve
  1. একটি ভার্চুয়ালেনভ তৈরি করুন

    ভার্চুয়ালেনভ ফ্লাস্ক

  2. স্ক্রিপ্টগুলিতে নেভিগেট করুন এবং ভার্চুয়ালেনভ সক্রিয় করুন

    সক্রিয় করুন

  3. ফ্লাস্ক ইনস্টল করুন

    পাইথন-এম পাইপ ইনস্টল ফ্লাস্ক

  4. ফ্লাস্ক ইনস্টল করা আছে কিনা তা পরীক্ষা করুন

    পাইথন-মি পাইপ তালিকা


1

আরেকটি জিনিস - আপনি যদি পাইথন 3 ব্যবহার করেন তবে নিশ্চিত হয়ে নিন যে আপনি আপনার সার্ভারটি দিয়ে শুরু করছেন python3 server.py, নাpython server.py


0

আপনার অজগর ইন্টারেক্টিভ মোড প্রবেশ করুন তারপর:

import sys

sys.path

এটি আপনার পথ মুদ্রণ করবে। Sys.path এ চেক ওয়েদার ফ্লাস্ক ইনস্টল করা আছে।

ম্যাকোএসের জন্য পাইথন পাথটি / ওপট / লোকাল / লাইব্রেরি / ফ্রেমওয়ার্কস / পাইথন.ফ্রেমওয়ার্ক / ভার্সন / ২.//lib/python2.7/site-packages এর অধীনে রয়েছে

তবে পাইপলাইন / লাইব্রেরি / পাইথন / ২..7 / সাইট-প্যাকেজের অধীনে ডিফল্টরূপে পাইথন প্যাকেজ ইনস্টল করবে

সে কারণেই এটি ম্যাকওএসের পক্ষে কাজ করে না।


0

স্থানীয় বিকাশ সার্ভার শুরু করতে ফ্লাস্ক স্ক্রিপ্টটি দুর্দান্ত, তবে আপনার কোডে প্রতিটি পরিবর্তনের পরে আপনাকে এটি ম্যানুয়ালি পুনরায় চালু করতে হবে। এটি খুব সুন্দর নয় এবং ফ্লাস্ক আরও ভাল করতে পারে। আপনি যদি ডিবাগ সমর্থন সক্ষম করে থাকেন তবে সার্ভার কোড পরিবর্তনতে নিজেকে পুনরায় লোড করবে এবং জিনিসগুলি ভুল হয়ে গেলে এটি আপনাকে একটি সহায়ক ডিবাগারও সরবরাহ করবে। ডিবাগ মোড সক্ষম করতে আপনি সার্ভার চালানোর আগে FLASK_DEBUG এনভায়রনমেন্ট ভেরিয়েবল এক্সপোর্ট করতে পারেন: আপনার ফাইলটি হ্যালো.পি

$ export FLASK_APP=hello.py
$ export FLASK_DEBUG=1
$ flask run

0

ডকার ব্যবহার করে আমার ক্ষেত্রে, আমার .env ফাইলটি অনুলিপি করা হয়নি, সুতরাং নিম্নলিখিত এনভির ভারসেট সেট করা হয়নি:

.env.local: FLASK_APP=src/app.py

সুতরাং আমার মধ্যে Dockerfileআমি অন্তর্ভুক্ত ছিল:

FROM deploy as dev
COPY env ./env

যা ডকার-কমপোজ.আইএমএল-তে উল্লেখ করা হয়েছিল

env_file: ./env/.env.local

আমার পরিবেশকে ব্যবহার করা হচ্ছে তা নিশ্চিত করার জন্য আমাকে আরেকটি বিষয় মনোযোগ দিতে হয়েছিল path

ENV PATH $CONDA_DIR/envs/:my_environment_name_from_yml_file:/bin:$CONDA_DIR/bin:$PATH```

0

আমার উত্তর কেবলমাত্র কোনও ব্যবহারকারীদের জন্য যারা ভিজ্যুয়াল স্টুডিও ফলস্ক ওয়েব প্রকল্প ব্যবহার করে:

"পাইথন এনভায়রনমেন্ট" এ শুধু ডান ক্লিক করুন এবং "পরিবেশ যুক্ত করুন" এ ক্লিক করুন


0

আপনি যদি পাইচার্ম ব্যবহার করছেন তবে এটি ভার্চুয়াল পরিবেশগত সমস্যা।

সুতরাং, আপনার পাইথন প্রকল্পটি তৈরি করার সময় আপনাকে "বিদ্যমান দোভাষী" বিকল্পটি নির্বাচন করতে হবে -> "সিস্টেম ইন্টারপ্রিটার" ক্লিক করুন -> উদাহরণস্বরূপ সঠিক বিকল্পটি নির্বাচন করুন "* \ অ্যাপডেটা \ স্থানীয় \ প্রোগ্রামসমূহ \ পাইথন \ পাইথন .6..6 \ পাইথন.এক্সি "।

আপনি 'নতুন ভার্চুয়াল এনভ' ব্যবহার করতে পারেন তবে পাইচারর্ম ব্যবহারকারীদের জন্য কাজ করা উচিত এমন দ্রুত সমাধান আমি দিয়েছি।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.