درصورتی که دارید از ویرچوال انوایرومنت پایتون 3.12 به بعد استفاده میکنید، برای استفاده از pip باید این دستورات رو اجرا کنید تا pip روی محیط مجازی تون نصب بشه :
منبع
#python
#Arj
python -m ensurepip --upgrade
python -m pip install --upgrade setuptools
pip install --upgrade setuptools
منبع
#python
#Arj
Stack Overflow
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
Earlier I installed some packages like Matplotlib, NumPy, pip (version 23.3.1), wheel (version 0.41.2), etc., and did some programming with those. I used the command C:\Users\UserName>pip list t...
Forwarded from Persian Store
10کتاب ارزشمند اما رایگان پایتون
1. Think Python
❯ v2 (PDF)
❯ v3 (HTML)
2. Exploring Python Basics
Publisher: Manning
https://www.manning.com/books/exploring-python-basics
3. Clean Code in Python
Publisher: Packt
https://packtpub.com/free-ebook/clean-code-in-python/9781788835831
4. Automate the Boring Stuff with Python
Publisher: No Starch Press
https://automatetheboringstuff.com
5. The Hitchhiker's Guide to Python
Publisher: O'Reilly
https://docs.python-guide.org/
6. Explore Data with Python
Publisher: Manning
https://www.manning.com/books/exploring-data-with-python
7. Learn More Python 3 The Hard Way
https://learncodethehardway.org/more-python-book/
8. The Big Book of Small Python Projects
https://inventwithpython.com/bigbookpython/
9. The Recursive Book of Recursion
https://inventwithpython.com/recursion/
10. Python beyond the Basics
https://inventwithpython.com/beyond/
#Python #DataScience
#MachineLearning #AI
https://persianstore.org
Contact Us : @Prsiaman
Channel : @prsian_store
1. Think Python
❯ v2 (PDF)
❯ v3 (HTML)
2. Exploring Python Basics
Publisher: Manning
https://www.manning.com/books/exploring-python-basics
3. Clean Code in Python
Publisher: Packt
https://packtpub.com/free-ebook/clean-code-in-python/9781788835831
4. Automate the Boring Stuff with Python
Publisher: No Starch Press
https://automatetheboringstuff.com
5. The Hitchhiker's Guide to Python
Publisher: O'Reilly
https://docs.python-guide.org/
6. Explore Data with Python
Publisher: Manning
https://www.manning.com/books/exploring-data-with-python
7. Learn More Python 3 The Hard Way
https://learncodethehardway.org/more-python-book/
8. The Big Book of Small Python Projects
https://inventwithpython.com/bigbookpython/
9. The Recursive Book of Recursion
https://inventwithpython.com/recursion/
10. Python beyond the Basics
https://inventwithpython.com/beyond/
#Python #DataScience
#MachineLearning #AI
https://persianstore.org
Contact Us : @Prsiaman
Channel : @prsian_store
Forwarded from Shayan GeeDook🐧
تا حالا به اول بعضی از فایلهای اسکریپت نگاه کردی و دیدی این دوتا کاراکتر مرموز #! اون بالا نشستن؟
مثل این:
#!/bin/bash
خب، این همون Shebang معروفه.
ترکیبی از # و ! که کنار هم تبدیل میشن به یه خط جادویی تو دنیای یونیکس و لینوکس!
ماجرا برمیگرده به دهه ۸۰ میلادی، وقتی که سیستمعاملهای شبهیونیکس داشتن رشد میکردن و توسعهدهندهها نیاز داشتن بدونن یه اسکریپت با چه برنامهای باید اجرا بشه.
توی سیستمعاملهای یونیکسی، وقتی شما یه فایل رو قابل اجرا (chmod +x) میکنی و سعی میکنی اجراش کنی، سیستم باید بفهمه این فایل توسط چه تفسیری (interpreter) اجرا بشه. Bash؟ Python؟ Perl؟ Node؟
اینجاست که shebang وارد میشه.
این خط اول فایل، به سیستمعامل میگه: «اگه خواستی این فایل رو اجرا کنی، با این برنامه اجراش کن!»
مثال:
#!/usr/bin/python3
print("Hello, world!")
این یعنی اجراش با مفسر پایتون نسخه ۳.
واژهی "Shebang" ترکیبیه از:
sh → اشاره به sh که همون Unix shell اولیه بوده
bang → اسمی قدیمی برای کاراکتر !
بنابراین #! میشه: "sh-bang"
(البته بعضی جاها بهش hashbang یا pound-bang هم میگن)
✨ قابل حمل بودن: یه اسکریپت با روی هر سیستم یونیکسی کار میکنه، بدون اینکه بدونی کدوم شله🛠 کنترل بیشتر: میتونی دقیقاً مشخص کنی با کدوم نسخه از مفسر اجرا بشه (مثلاً #!/usr/bin/env python3)💻 استاندارد بودن: خیلی از ابزارها و سیستمها به خط اول فایل حساسن. اگه درست نباشه، ممکنه اسکریپت اجرا نشه
#!/usr/bin/env python3
اینجوری سیستم خودش مسیر Python 3 رو از متغیرهای محیطی پیدا میکنه. برای پورتابل بودن خیلی بهتر از مسیرهای مستقیمه.
با اینکه این مفهوم برای لینوکسیها و برنامهنویسها بسیار مهمه، توی ویکیپدیای فارسی هنوز صفحهای به اسم Shebang یا #! وجود نداره!
وقتشه که یکی اینو به فارسی بنویسه — شاید تو باشی!
#Shebang #Linux #Unix #اسکریپت #Bash #Python #DevTips #Geedook #OpenSource
github
Wikipedia (EN) - Shebang (Unix)
stackoverflow
Linux Handbook - What is Shebang
Shayan-GeeDook
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
free-programming-books/books/free-programming-books-langs.md at main · EbookFoundation/free-programming-books
:books: Freely available programming books. Contribute to EbookFoundation/free-programming-books development by creating an account on GitHub.
Forwarded from Ninja Learn | نینجا لرن (Denver)
خب خب خب، Background Task ها توی FastAPI🚀
گاهی اوقات نیاز داریم که یه کاری بعد از ارسال پاسخ به کاربر انجام بشه. مثل ارسال ایمیل خوشامد گویی، ثبت لاگ یا آمار توی دیتابیس، پردازش فایل آپلود شده و .... توی این شرایط میتونیم از Background Task ها استفاده کنیم، اینجوری میتونیم بدون معطل کردن کاربر اون کارهارو جداگانه انجام بدیم.
استفاده از Background Task ها🛠
خب اول باید کلاس
حالا FastAPI میاد یه آبجکت با نوع
بعد از اینکه فانکشن تسکمون رو ایجاد کردیم میتونیم با استفاده از متود
Background Tasks و Dependency injection💉
Background Tasks به خوبی با سیستم تزریق وابستگی FastAPI سازگاره. میتونیم توی سطح های مختلف برنامه(فانکشن route، یه وابستگی و...) از Background Task استفاده کنیم.
توی این مثال بعد از اینکه پاسخ به کلاینت ارسال شد، یه تسک میاد ایمیل کاربر رو توی فایل
نکته مهم⚠️
این ابزار فقط برای کارهای سبک وسریع مناسبه. مثل همین لاگ نوشتن، ارسال ایمیل یا پردازش های خیلی کوچیک و سبک. برای کارهای سنگین تر مثل پردازش تصویر بهتره که از سیستم هایی مثل Celery استفاده بشه.
جمع بندی✍️
Background Task یه ابزار ساده ولی کاربردیه. میتونه توی پروژه هایی که تسک های سنگینی ندارن از Celery بی نیازتون کنه و کارهارو بعد از پاسخ دهی به صورت غیرهمزمان انجام بده.
➖➖➖➖➖➖➖➖➖➖
گاهی اوقات نیاز داریم که یه کاری بعد از ارسال پاسخ به کاربر انجام بشه. مثل ارسال ایمیل خوشامد گویی، ثبت لاگ یا آمار توی دیتابیس، پردازش فایل آپلود شده و .... توی این شرایط میتونیم از Background Task ها استفاده کنیم، اینجوری میتونیم بدون معطل کردن کاربر اون کارهارو جداگانه انجام بدیم.
استفاده از Background Task ها🛠
خب اول باید کلاس
BackgroundTasks رو ایمپورت کنیم و یه پارامتر از همین نوع برای فانکشن route بنویسیم.from fastapi import BackgroundTasks, FastAPI
app = FastAPI()
def write_notification(email: str, message=""):
with open("log.txt", mode="w") as email_file:
content = f"notification for {email}: {message}"
email_file.write(content)
@app.post("/send-notification/{email}")
async def send_notification(email: str, background_tasks: BackgroundTasks):
background_tasks.add_task(write_notification, email, message="some notification")
return {"message": "Notification sent in the background"}
حالا FastAPI میاد یه آبجکت با نوع
BackgroundTasks برامون ایجاد میکنه و به اون پارامتر پاس میده.بعد از اینکه فانکشن تسکمون رو ایجاد کردیم میتونیم با استفاده از متود
()add_task از همون پارامتر اون فانکشن رو به صف اجرا اضافه کنیم. همچنین میتونیم آرگومان های مورد نیازمون رو هم با استفاده از همین متود به تسکمون پاس بدیم.Background Tasks و Dependency injection💉
Background Tasks به خوبی با سیستم تزریق وابستگی FastAPI سازگاره. میتونیم توی سطح های مختلف برنامه(فانکشن route، یه وابستگی و...) از Background Task استفاده کنیم.
from typing import Annotated
from fastapi import BackgroundTasks, Depends, FastAPI
app = FastAPI()
def write_log(message: str):
with open("log.txt", mode="a") as log:
log.write(message)
def get_query(background_tasks: BackgroundTasks, q: str | None = None):
if q:
message = f"found query: {q}\n"
background_tasks.add_task(write_log, message)
return q
@app.post("/send-notification/{email}")
async def send_notification(
email: str, background_tasks: BackgroundTasks, q: Annotated[str, Depends(get_query)]
):
message = f"message to {email}\n"
background_tasks.add_task(write_log, message)
return {"message": "Message sent"}
توی این مثال بعد از اینکه پاسخ به کلاینت ارسال شد، یه تسک میاد ایمیل کاربر رو توی فایل
log.txt مینویسه. اگه یه کوئری پارامتر هم به API ارسال بشه یه تسک دیگه اون رو هم توی فایل مینویسه.نکته مهم⚠️
این ابزار فقط برای کارهای سبک وسریع مناسبه. مثل همین لاگ نوشتن، ارسال ایمیل یا پردازش های خیلی کوچیک و سبک. برای کارهای سنگین تر مثل پردازش تصویر بهتره که از سیستم هایی مثل Celery استفاده بشه.
جمع بندی✍️
Background Task یه ابزار ساده ولی کاربردیه. میتونه توی پروژه هایی که تسک های سنگینی ندارن از Celery بی نیازتون کنه و کارهارو بعد از پاسخ دهی به صورت غیرهمزمان انجام بده.
#️⃣ #fastapi #python #backend
➖➖➖➖➖➖➖➖➖➖
🥷🏻 CHANNEL | GROUP
ازتون خواهش میکنم، تمنا میکنم، وقتی روی پروژه تیمی کار میکنید، گیت فلو رو یاد بگیرید!
شده بدین هوش مصنوعی کامیت مسیجتونو بنویسه بدین، ولی عین خیار کامیت نکنید !!!
کار با بی صاحاب گیت رو یاد بگیرید😭
https://www.linkedin.com/posts/pouya-birvand_ugcPost-7348748966240337923-2dfy?
شده بدین هوش مصنوعی کامیت مسیجتونو بنویسه بدین، ولی عین خیار کامیت نکنید !!!
کار با بی صاحاب گیت رو یاد بگیرید😭
https://www.linkedin.com/posts/pouya-birvand_ugcPost-7348748966240337923-2dfy?
Linkedin
💼 مهارتی که برای ورود به شرکتها و کار تیمی باید بلد باشید | Pouya Birvand
💼 مهارتی که برای ورود به شرکتها و کار تیمی باید بلد باشید
اگه میخوای:
✅ تو پروژههای تیمی موفق باشی
✅ کدت conflict ایجاد نکنه
✅ مثل یه حرفهای کار کنی
✅ تو مصاحبهها بدرخشی
این carousel رو ببین!
#git #gitflow #programming #developer #coding #webdeveloper…
اگه میخوای:
✅ تو پروژههای تیمی موفق باشی
✅ کدت conflict ایجاد نکنه
✅ مثل یه حرفهای کار کنی
✅ تو مصاحبهها بدرخشی
این carousel رو ببین!
#git #gitflow #programming #developer #coding #webdeveloper…
😁1
Forwarded from TheAliBigdeli Channel
enhancer_bulk.py
4.9 KB
اینم اسکریپتی که گفته بودم برای افزایش کیفیت حجم صدا که می تونین توی یه دایرکتوری input تمام ویدئو ها رو بگذارید و بعد داخل کد تنظیمات دلخواه رو ست و اجراش کنین و منتظر بمونین. به صورت parallel و یا با gpu هم اجرا میشه فقط باید اول ffmpeg رو دانلود و روی سیستمتون قرار بدید و دایرکتوری درست رو بهش برای اجرا بدید.
چندتا عامل رو توی کد در نظر گرفتم COMPRESSOR و EXPANDER و GAINER به همراه یسری تنظیمات بیشتر برای کیفیت و فشرده سازی که باعث میشه خروجی مناسبی رو بتونین بگیرید
#python
#code
چندتا عامل رو توی کد در نظر گرفتم COMPRESSOR و EXPANDER و GAINER به همراه یسری تنظیمات بیشتر برای کیفیت و فشرده سازی که باعث میشه خروجی مناسبی رو بتونین بگیرید
#python
#code
اگر میخواین فایل پایتونی، یا هر فایل با پسوندی که میخواین رو سریع از طریق منوی new file ویندوز بسازین، این بکارتون میاد
گرچه که من توی پایچارم فایلی بخوام مستقیما میسازم ولی برای یکسری فایلای بخصوص کارآمده :)
لینک موحتاوا
گرچه که من توی پایچارم فایلی بخوام مستقیما میسازم ولی برای یکسری فایلای بخصوص کارآمده :)
لینک موحتاوا
Linkedin
#پایتون #برنامهنویسی #توسعهدهنده #ترفند #ویندوز #بهرهوری #ابزار #توسعه_نرمافزار #برنامهنویس #فایل_پایتون #کدنویسی #فناوری #توسعه_وب…
💡 یک راه حل کاربردی برای توسعهدهندگان پایتون!
سلام به همگی! 🙋♂️
امروز میخوام یک ترفند فوقالعاده کاربردی رو با شما به اشتراک بگذارم که ممکنه خیلی از شما باهاش درگیر بوده باشید.
مدتها بود که دنبال راهی میگشتم تا بتونم با یک کلیک راست ساده و انتخاب گزینهی…
سلام به همگی! 🙋♂️
امروز میخوام یک ترفند فوقالعاده کاربردی رو با شما به اشتراک بگذارم که ممکنه خیلی از شما باهاش درگیر بوده باشید.
مدتها بود که دنبال راهی میگشتم تا بتونم با یک کلیک راست ساده و انتخاب گزینهی…
❤1
Forwarded from TheAliBigdeli Channel
موضوع GIL در پایتون یعنی چی؟
پایتون یه مکانیزمی داره به اسم GIL (Global Interpreter Lock) که باعث میشه در هر لحظه فقط یه بخش از کد پایتونی روی CPU اجرا بشه. یعنی حتی اگه چند کار همزمان تعریف کرده باشی، مفسر پایتون فقط یکیشون رو در لحظه اجرا میکنه.
هدف GIL اینه که از تداخل و خراب شدن دادهها جلوگیری کنه، چون حافظهی داخلی پایتون طوری طراحی نشده که چند بخش از برنامه همزمان بتونن روش بنویسن. این قفل باعث میشه اجرای برنامهها در حالت عادی سادهتر و ایمنتر باشه، ولی در عوض جلوی اجرای واقعی همزمان روی چند هسته CPU رو میگیره.
با این حال، GIL فقط برای کارهایی که محاسبات سنگین دارن دردسر سازه. در کارهایی مثل خوندن فایل، درخواست شبکه یا هر چیزی که بیشتر وقتش صرف انتظار میشه، GIL معمولاً مشکلی ایجاد نمیکنه، چون در اون زمان قفل آزاد میشه و کار بعدی میتونه ادامه پیدا کنه.
اما نکته جدید: در نسخهی ۳٫۱۴ پایتون، حذف (یا به عبارتی «اختیاری کردن») GIL وارد فاز جدیدی شده. در حالت Free-Threaded (یا No-GIL)، پایتون قادر میشه بخشهای محاسباتی را در چند تِرِد واقعی و همزمان اجرا کنه، که در صورت طراحی درست ممکنه عملکرد چند برابر بهتر بشه.
پست زیر می تونه در عمل بهتر بهت نشونش بده:
https://www.linkedin.com/posts/avi-chawla_finally-python-314-lets-you-disable-gil-activity-7383818720332169216-dtH_?utm_source=share&utm_medium=member_desktop&rcm=ACoAACOugCYBHGWYjHpFz9urfiJEDF52-xCSwtE
📢 @thealibigdeli_channel
#python
#news
پایتون یه مکانیزمی داره به اسم GIL (Global Interpreter Lock) که باعث میشه در هر لحظه فقط یه بخش از کد پایتونی روی CPU اجرا بشه. یعنی حتی اگه چند کار همزمان تعریف کرده باشی، مفسر پایتون فقط یکیشون رو در لحظه اجرا میکنه.
هدف GIL اینه که از تداخل و خراب شدن دادهها جلوگیری کنه، چون حافظهی داخلی پایتون طوری طراحی نشده که چند بخش از برنامه همزمان بتونن روش بنویسن. این قفل باعث میشه اجرای برنامهها در حالت عادی سادهتر و ایمنتر باشه، ولی در عوض جلوی اجرای واقعی همزمان روی چند هسته CPU رو میگیره.
با این حال، GIL فقط برای کارهایی که محاسبات سنگین دارن دردسر سازه. در کارهایی مثل خوندن فایل، درخواست شبکه یا هر چیزی که بیشتر وقتش صرف انتظار میشه، GIL معمولاً مشکلی ایجاد نمیکنه، چون در اون زمان قفل آزاد میشه و کار بعدی میتونه ادامه پیدا کنه.
اما نکته جدید: در نسخهی ۳٫۱۴ پایتون، حذف (یا به عبارتی «اختیاری کردن») GIL وارد فاز جدیدی شده. در حالت Free-Threaded (یا No-GIL)، پایتون قادر میشه بخشهای محاسباتی را در چند تِرِد واقعی و همزمان اجرا کنه، که در صورت طراحی درست ممکنه عملکرد چند برابر بهتر بشه.
پست زیر می تونه در عمل بهتر بهت نشونش بده:
https://www.linkedin.com/posts/avi-chawla_finally-python-314-lets-you-disable-gil-activity-7383818720332169216-dtH_?utm_source=share&utm_medium=member_desktop&rcm=ACoAACOugCYBHGWYjHpFz9urfiJEDF52-xCSwtE
📢 @thealibigdeli_channel
#python
#news
Linkedin
Python 3.14: GIL removed, multi-threading now parallel | Avi Chawla posted on the topic | LinkedIn
Finally, Python 3.14 lets you disable GIL!
It's a big deal because earlier, even if you wrote multi-threaded code, Python could only run one thread at a time, giving no performance benefit.
But now, Python can run your multi-threaded code in parallel.
…
It's a big deal because earlier, even if you wrote multi-threaded code, Python could only run one thread at a time, giving no performance benefit.
But now, Python can run your multi-threaded code in parallel.
…