Pin post

Why this Blog?

এই ব্লগে আপনি কিছু সহজ সংক্ষিপ্ত টিউটোরিয়াল বা নির্দেশনা পাবেন । যা আপনার নানা রকম সমাধান দিবে বলে আশাকরি আমাদের প্রোগ্রামিং সংশ্লিষ্ট ব্লক...

২৪.৮.২৫

Virtual Environment and Poetry Setup Guide for python ( Django )

 # Virtual Environment and Poetry Setup Guide


## 1. Create a Virtual Environment

1. Open your terminal and navigate to your project directory.

2. Run the following command to create a virtual environment:

   ```

   python -m venv venv

   ```

3. Activate the virtual environment:

   - On Windows:

     ```

     .\venv\Scripts\activate

     ```

   - On macOS/Linux:

     ```

     source venv/bin/activate

     ```


## 2. Install Poetry

1. Ensure your virtual environment is activated.

2. Install Poetry using pip:

   ```

   pip install poetry

   ```


## 3. Initialize Poetry

1. Run the following command to initialize Poetry in your project:

   ```

   poetry init

   ```

2. Follow the prompts to configure your `pyproject.toml` file. For example:

   - Project name: `askme`

   - Version: `0.1.0`

   - Description: `Askme Django Project`

   - Author: `Your Name <your.email@example.com>`

   - Python version: `^3.10`

   - Add dependencies as needed (e.g., `django`, `redis`, `faiss-cpu`).


## 4. Install Dependencies

1. To install all dependencies listed in `pyproject.toml` and `poetry.lock`, run:

   ```

   poetry install

   ```

2. To install without development dependencies:

   ```

   poetry install --no-dev

   ```


## 5. Add New Dependencies

1. To add a new dependency:

   ```

   poetry add package-name

   ```

2. To add a development dependency:

   ```

   poetry add --dev package-name

   ```


## 6. Run Commands with Poetry

1. To run a command within the Poetry environment:

   ```

   poetry run python manage.py runserver

   ```


## 7. Export Dependencies to requirements.txt

1. If you need a `requirements.txt` file for compatibility with other tools:

   ```

   poetry export -f requirements.txt --output requirements.txt

   ```


## 8. Deactivate Virtual Environment

1. To deactivate the virtual environment, simply run:

   ```

   deactivate

   ```


## 9. Additional Notes

- Always activate your virtual environment before running Poetry commands.

- Commit both `pyproject.toml` and `poetry.lock` to version control to ensure consistency across environments.

- Use `poetry update` to update dependencies to their latest compatible versions.


# Example pyproject.toml

Below is an example `pyproject.toml` file for your project:


```toml

[tool.poetry]

name = "askme"

version = "0.1.0"

description = "Askme Django Project"

authors = ["Your Name <your.email@example.com>"]


[tool.poetry.dependencies]

python = "^3.10"

django = "^5.0.2"

django-redis = "^5.4.0"

faiss-cpu = "^1.7.4"

redis = "^5.0.1"


[tool.poetry.dev-dependencies]

pytest = "^7.4.0"

black = "^23.12.1"

flake8 = "^7.0.0"


[build-system]

requires = ["poetry-core>=1.0.0"]

build-backend = "poetry.core.masonry.api"

```

২২.৯.২০

Django Basic commands for all projects || Python virtual environment install and activate with Django install and run (Windows)

Python virtual environment install and activate with Django install and run (Windows)


[Update 31-May-2023]

প্রথমে VSCode এর টার্মিনাল ওপেন করুন, তারপর নিচের স্টপগুলো ফলো করুন।

Run this command in VScode PowerShell step by step: 
list [এই কমান্ড দিয়ে আপনি যে ফেল্ডারে আছেন, সেই ফোল্ডারে কি কি আছে দেখতে পারবেন।]

### আপনি যদি জ্যাঙ্গোর বেসিক জেনে থাকেন তাহলে এই লিংকের টেমপ্লেট বা বয়লারপ্লেট টি ইউজ করতে পারেন। ###

Python and Django Basic commands for all Django projects:


Command for path configure: 

python -m ensurepip

install virtual environments: 

python -m venv venv

Active venv Mac:

source venv/bin/activate 

Active venv Windows:

venv\Scripts\activate

যদি পাওয়ার শেল execuation ইরর দেখায়

powershell -ExecutionPolicy Bypass

//

Get-ExecutionPolicy

Set-ExecutionPolicy Bypass

//

# Install poetry (venv) pip install poetry

# Initialize poetry (creates pyproject.toml) (venv) poetry init

# Install dependencies (venv) poetry install

poetry config --list

# Add new dependencies poetry add package-name # Remove dependencies poetry remove package-name # Update dependencies poetry update # Show installed packages poetry show # Run a command within the virtual environment poetry run python manage.py runserver

Install Django:

pip install Django

python -m django --version

// ইমেজ প্রসেজ করার জন্য পিলো ইনস্টল করা লাগবে।

pip install Pillow 

Install Django Rest Framework:

pip install djangorestframework

python -m pip install django-cors-headers

pip install graphene-django


সকল প্যাকেজগুলো রিকোয়ারমেন্ট ফাইলে এড করে রাখুন,
এতে গিটে প্রজেক্ট শেয়ার করলে প্যাকেজ ম্যানেজ করার হ্যাসেল থাকবে না।

pip freeze > requirements.txt

pip install -r requirements.txt

pip install -r requirements.txt --upgrade

pip freeze > requirements.txt

Pip list


// Install requirements file for ensuring requirements


জ্যাঙ্গো প্রজেক্ট কিয়েট করুন:

poetry run < command>

django-admin startproject backend

ফোল্ডারের কিয়েট হয়েছে চ্যাক করুন।

প্রজেক্টের ডিরেক্টরিতে ঢুকুন,

cd backend

এরপর একটি এ্যাপ স্টার্ট করুন।

python manage.py startapp blog

ডাটাবেসকে মাইগ্রেশন করে ডাটাবেজ কিয়েট করুন 

python manage.py makemigrations

python manage.py migrate

এডমিন প্যানেলের জন্য সুপার ইউজার ক্রিয়েট করুন।

python manage.py createsuperuser

এবার প্রজেক্টটি রান করুন।

python manage.py runserver


Extra... ------------------------
pip freeze > requirements.txt

*To remove one by one

pip uninstall -r requirements.txt

*If we want to remove all at once then

pip uninstall -r requirements.txt -y


৩১.১২.১৮

জ্যাঙ্গো ব্লগ এ্যাপ তৈরী

|| This post is for Django version 3, New post will coming with Django Version 4. ||

আমরা পূর্বের পোষ্টে আমাদের জ্যাঙ্গো প্রজেক্ট খুলেছি এবার প্রজেক্টের আওতায় একটি ব্লগ এ্যাপ খুলবো।
[বিঃ দ্রঃ আমাদের সকল কমান্ড কিন্তু CMD or PowerShell এই করতে হবে, এবং অবশ্যই যে ডিরেক্টরিতে প্রজেক্ট সেই ডিরেক্টরিতেই করতে হবে। ]তাই আমি আমার F ড্রাইভের ভেতরের mysite এ প্রবেশ করবো, প্রবেশ করতে cd mysite লিখে ইন্টার দেবো।[আপনার ডিরেক্টরিতে কি কি আছে দেখতে ls লিখে ইন্টার দিলে সব কিছুর লিষ্ট দেখতে পারবেন।]

 ব্লগ  এ্যাপ খুলতে আমি আমার cd mysite লিখে ঢুকলাম


এবং 
py manage.py startapp blog লিখে ইন্টার দিলাম।

এতে আমার মাইসাইট ফোল্ডারে একটি blog নামে একটি ফোল্ডার তৈরী হয়েছে, আপনি ls কমান্ড দিয়ে চেক করুন।(চিত্রঃ Django Command 1)
Django Command 1

আপনার ব্লগ এ্যাপ তৈরী হয়ে গিয়েছে।
এবার

এখন দেখুন  আমাদের ডিরেক্টরিতে blog নামে একটি নতুন ডিরেক্টরি তৈরি হয়েছে।
আমরা যেহেতু একটি নতুন এপ তৈরি করেছি,
 আমাদের প্রজেক্ট কে কোড এডিটর বা আইডিতে ওপেন করতে হবে।

[বর্তমানে আমি vscode দিয়ে কাজ করি || May-2023]
 প্রজেক্টের সেটিং ফাইলটি  mysite/settings.py  খুলুন।
এখানে INSTALLED_APPS  নামে একটি লিস্ট আছে, লিস্টের শেষে  ‘blog’ যোগ করুন।
1
2
3
4
5
6
7
8
9
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
' blog',
]


এবার আমরা urls.py ফাইলটি ওপেন করবো এবং সেখানে import এ include লিখে ইনক্লুডের কথা বলবো, এবং নিচে পাথে ব্লগের লিংকটি বলে দেবো।
যা চিন্হিত করবে আমাদের প্রেজেক্টে একটি ব্লগ এ্যাপ আছে...
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),    path('blog/', include('blog.urls')),]

[বিঃদ্রঃ না বুঝার কিছুই নেই, urls.py হচ্ছে নেভিগেশন লিংকের লিষ্ট, আর path মানে হলো হাইপার লিংঙ্ক, যা HTML এ এংকর লিংক]

২। কাজ সহজ করতে প্রতিটা এ্যাপের আন্ডারে একটা urls.py ফাইল খুলে সেখানে এ্যাপের(যেমন ব্লগের নেভিগেশন লিংক) বা path গুলো লিখলে হয়।

এবার আমাদের ব্লগ এ্যাপের ভেতরকার পথ(path বা urls) তৈরী করবো...
তাই ব্লগের ভেতর urls.py নামে একটা ফাইল খুলবো।

এখানে দ্বিধায় থাকতে পারেন, তাই মনেরাখবেন..
১। আপনার project এর একটা urls.py থাকবে, যেখানে প্রজেক্টের আন্ডারের সকল এ্যাপের url/path দিয়ে প্রজেক্টের সাথে এ্যাপগুলো কানেক্ট করতে হয়।




এবার উইআরএলস কে বলে দেবো django থেকে urls এর পাথ কে ইমপোর্ট করতে...
এবং ( ইউআরএল যেহেতু ব্লগের আন্ডারের )
তারপর পাথ প্যাটার্নে লিখে দিবো views এর ভেতর একটা index ফাংশন আছে তা আমার ইনডেক্স বা হোম পেইজ ফাইল ...
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),]


এবার আমরা views.py ফাইল এডিট করবো আমাদের ইনডেক্স ফাইলে লেখা প্রকাশ করতে
from django.http import HttpResponse
# Create your views here.def index(request):
 return HttpResponse("<h1>This is My Blog Home page</h1>")

এবার আপনার রান সার্ভার ফাইলটি ক্লজ করে আবার ডাবল ক্লিক দিয়ে ওপেন করুন
এরপর 127.0.0.1 এ গিয়ে দেখুন

  1. admin/
  1. blog/ 
অভিনন্দন, আপনি পেরেছেন  :)

 এখানে দুইটি ইউআরেল তৈরী হয়েছে, সুতরাং আপনি http://127.0.0.1:8000 এর পর /blog লিখে প্রবেশ করুন বাহ আপনার ভিউ তে দেখাচ্ছে This is my Blog Home Page 
[এখনো http://127.0.0.1:8000/admin এর কাজ করা হয়নি, যদিও জ্যাঙ্গ নিজেই একটা এডমিন প্যানেল দিয়ে দিয়েছে।  ]

[রান সার্ভার CMD কে ক্লজ করে আবার ওপেন করুন, তারপর পেইজ রিফ্রেশ করুন।]


নেক্সট পোষ্টগুলোতে আমরা দেখব কিভাবে আমাদের ব্লগ পোষ্ট করবো, এবং তার জন্য কিভাবে পোষ্টের কাঠামো বা মডেল তৈরি করা হয়। এরপর দেখবো কিভাবে জ্যাঙ্গোর নিজস্ব এডমিন প্যানেলে এডমিন ইউজার নেম ও পাসওয়ার্ড তৈরী করে এডমিন প্যানেল কাজে লাগাতে হয়।







জ্যাঙ্গো প্রজেক্ট ১ (ব্লগ তৈরী করা) [এখান থেকে প্রজেক্ট শুরু করুন ]

|| This post is for Django version 3, New post will coming with Django Version 4. ||

জ্যাঙ্গোতে প্রজেক্ট করা শিখতে স্টেপ বাই স্টেপ আমরা একটি ব্লগ তৈরী করবো।


আপনার পাইথন ও জ্যাঙ্গো ইনস্টল থাকলে আপনি এবার প্রজেক্ট শুরু করতে পারেন।

প্রজেক্ট শুরু করতে আপনি যে ড্রাইভে প্রজেক্টটি করবেন সেই ড্রাইভে প্রবেশ করতে কমান্ড দিন।
যেমন আমি F ড্রাইভে প্রজেক্টটি রাখবো। তাই F: দিয়ে ঐ ড্রাইভে প্রবেশ করলাম। (চিত্রের প্রথম লাইন)
তারপর প্রজেক্ট তৈরী করবো, ধরুন mysite নামে প্রজেক্ট করবো।
এই মাই সাইট প্রজেক্টের আওতায় অনেক কিছুই থাকতে পারে, Blog, E-commerce, Music store, Movie site সহ অনেক এ্যাপ।

সুতরাং আমি mysite প্রজেক্ট শুরু করবো।

1
django-admin startproject mysite

 লিখে ইন্টার দিলে চিত্রের মত কিছুই দেখাবে না।
কিন্তু আপনার প্রজেক্ট তৈরী। আপনি আপনার সিলেক্টেড ড্রাই ভে গিয়ে দেখুন মাইসাইট নামে একটি ফোল্ডার ক্রিয়েট হয়েছে এবং ঐ ফোল্ডারের ভেতর mysite ফোল্ডার manage.py ফাইল এবং db.sqlite3 নামক ডাটাবেজ ফাইল তৈরী হয়েছে।
এবার আপনি ‍আপনার mysite ফোল্ডারে প্রবেশ করুন  cd mysite লিখে ইন্টার দিন।
{ ls লিখে ইন্টার দিলে আপনার ফোল্ডারে কি কি ফাইলে আছে তা দেখাবে।}
এখন দেখবো আসলেই কি মাই সাইট তৈরী হয়েছে নাকি...
তাই  python manage.py runserver লিখে ইন্টার দিন।









সেখান হতে কপি করে অথবা নিজেই ব্রাউজারে লিখুন  http://127.0.0.1:8000/
এবং দেখুন এভাবে অভিনন্দন জানাচ্ছে।

অভিনন্দন গ্রহন করুন এবং আপনি সফলতার সাথে এগিয়ে চলেছেন।
এরপর আমরা আমাদের প্রজেক্টের আরেক ধাপ এগিয়ে নেক্সট পোষ্টে দেখবো কিভাবে প্রজেক্টের ব্লগ এ্যাপ তৈরী করে।



ব্রাউজারে সাইট দেখতে প্রতিবার কোডিংশেষে সার্ভার রান করতে হবে।
তাই বারবার সার্ভার রান করার ঝামেলা থেকে বাঁচতে।
 আপনি mysite ফোল্ডারে নিজে আরেকটি runserver.bat ফাইল তৈরী করুন,
ফাইলটি কিভাবে তৈরী করবেনঃ প্রথমে রাইট বাটন থেকে যেভাবে নিউ ফোল্ডার তৈরী করেন সেভাবেই  টেক্সট ডকুমেন্ট নিন এবং .txt সহ কেটে দিন এবং লিখুন runserver.bat এবং রি-নেইম করুন। [ওয়ার্নিং দেবে ইয়েস দিয়ে কনফার্ম করুন]
এবার  runserver.bat ফাইলটি সিলেক্ট করে রাইট বাটন হতে এডিটে যান,
তারপর সেখানে লিখুন python manage.py runserver
এবার সেইভ করুন।

এবার রানসার্ভার ওপেন করুন... দেখুন সার্ভার ওপেন হয়েছে,
















পাইথন ও জ্যাঙ্গো ইন্সটল করা

[Update 2023]

Virtual environment ইনস্টল নিয়ে এই পোষ্টটি দেখুন...

|| This post is for Django version 3, New post will coming with Django Version 4. ||
জ্যাঙ্গো ইন্সটল করতে প্রথমে CMD অথবা Powershell ওপেন করুন। [ CMD অথবা Powershell লিখে স্টার্টম্যানুতে সার্চ করলেই পাবেন।]

আগে নিশ্চিত হোন পাইথন ইন্সটল আছে কিনা...
পাইথন ভার্সন চেক করতে  CMD অথবা Powershell এ py --version লিখে ইন্টারদিন
তখন এরকম ভাবে python 3.7.1 (যে version) আছে দেখাবে। ############ তারপর নিচের কোড টি দিয়ে জ্যাঙ্গো ইন্সটল করে নিন।
 pip install -e django 

 আর আপনার যদি আগের জ্যাঙ্গো ইন্সটল থাকে তাহলে version আপগ্রেড করতে python -m pip install --upgrade pip  লিখে ইন্টার দিন।
##############
ব্লগটি অনেকদিন ধরে আপডেট করা হয়  নাই।
বর্তমানে জ্যাঙ্গো Virtual environment এ ইনস্টল করে কাজ করা হয়।
এতে প্যাকেজের ভার্সন নিয়ে ঝামেলা হয় ন।

Virtual environment ইনস্টল নিয়ে এই পোষ্টটি দেখুন...

এই পোষ্টটা দেখে তেমন কিছু না বুঝলেও জ্যাঙ্গো প্রজেক্ট-১ ব্লগ তৈরী করা পোষ্টটি পড়ার সময় আপনার ঐ পোষ্টে যেতে হতে পারে। কারন Virtual environment ইনস্টল নিয়ে এই পোষ্টটি ভার্সন অনুযায়ী আপডেট হলেও, ব্লগের অন্য পোষ্ট সমূহ আপডেট করা হবে না।
 



















Why this Blog?

এই ব্লগে আপনি কিছু সহজ সংক্ষিপ্ত টিউটোরিয়াল বা নির্দেশনা পাবেন । যা আপনার নানা রকম সমাধান দিবে বলে আশাকরি

আমাদের প্রোগ্রামিং সংশ্লিষ্ট ব্লকের নির্দেশনা চললে আপনি সহজেই একজন প্রোগ্রামার ও ওয়েব এ্যাপ ডেভলপার হতে পারবেন। প্রোগ্রামিং বা ফ্রেমওয়ার্কের বিস্তারিত জানার জন্য আপনি ওয়েবে অনেক সোর্স পাবেন, কিন্তু মূল কথা সংক্ষেপে খুব কম স্থানে পাবেন। আর বাংলায় সোর্সতো খুবই নগন্য। তাই আমাদের এই চেষ্টা, এই ব্লগে আপনাকে বাংলায় সহজ সরল ভাষায় বুঝানোর চেষ্টা করবো।
[অবশ্যই কমেন্টসে আপনার পরামর্শ প্রদান করে ধন্য করবেন।]

বিঃদ্রঃ আমি কোন প্রফেশনাল নই, আমি নিজে শিখছি মাত্র। আর ভালো শিখার একটা মাধ্যম হিসেবে অন্যকেও সাহায্য করা একটু সুন্দর কৌশল হিসেবে মনে করি। অন্যকে শিখতে এবং নিজেও ভালো শিখতে শেয়ার করার বিকল্প নেই বলে আমিও মনে করি।
***টাইপ মিস্টেক /বানান ভুল গুলো অবগত করবেন এবং মার্জনা করবেন

পাইথন প্রোগ্রামিং

পাইথন ইন্সটল করা এবং ইন্ট্রারপ্রেটার ব্যবহার করে কোডিং করাঃ

১। আপনি python.org ওয়েব থেকে ডাউনলোড করে ইন্সটল করে নিন।
২। এবার আপনার স্টার্ট ম্যানুর পাইথন ফোল্ডার থেকে IDLE নামক ফাইল ওপেন করে কোডিং শুরু করুন।

যেমন, আপনি প্রথমে প্রিন্ট করা শিখুুন, Bangladesh প্রিন্ট করতে print("Bangladesh") লিখে ইন্টার দিন। দেখুন Bangladesh লিখা প্রিন্ট হয়েছে।

আপনাকে প্রোগ্রামিং শিখতে বেসিক কিছু স্টেপ শিখতেই হবে।

# প্রিন্ট/ আউটপুট প্রকাশ করা
# কিবোর্ড হতে ইনপুট নেয়া
# যোগ বিয়োগ গুন ভাগ করা।
# লুপ,সুইচ-কেস, নেষ্টড কি  এবং কিভাবে কাজ করে
# অ্যারে, স্ট্রিং কি এবং কাজ
# ডাটা টাইপ
# ফাংশন ও মডিউল


সহজ ভাষায় স্টেপ বাই স্টেপ  পাইথন প্রোগ্রামিং শিখতে ফ্রি গিটবুকের এই সাইটটি ফলো করতে পারেনঃ  https://python.howtocode.com.bd

অথবা আপনি পাইথনের অফিসিয়াল সাইটের থেকেও শিখতে পারেন এই লিংকের থেকেঃ https://docs.python.org/3.6/tutorial/index.html#the-python-tutorial





তাছাড়া আপনি ভিডিও টিউটরিয়ালের জন্য  ইউটিউবে অনেক সুন্দর সুন্দর টিউটরিয়াল পাবে।[অনেক ভিডিও টিউটরিয়ালের ভেতর হতে না দেখে দু একটা বাছাই করা সম্ভব নয়]