نصب پایتون در Ubuntu

سلام وقت بخیر
من میخوام آخرین نسخه پایتون رو روی ابونتو نصب کنم
به این شکل رفتم جلو
طبق آموزش یکی از سایت ها

مرحله یک

sudo apt update

sudo apt install software-properties-common

مرحله دو
deadsnakes PPA به لیست مخزن‌های نرم‌افزاری

مرحله سه
sudo add-apt-repository ppa:deadsnakes/ppa

مرجله آخر
sudo apt install python3.8

و در آخر با دستور مشخص کردم که وقتی میزنم python همون python 3 رو اجرا کنه
alias python=python3

الان یه مقدار گیج شدم
میخوام تمام پایتون های مختلفی که نصب شده رو ببینم
و همشون رو پاک کنم و فقط نسخه آخر نصب باشه
و یه روش نصب ساده هم معرفی کنید


البته من پایتون 3.8 رو نصب کردم
عکس
الان میخوام کل همشون حذف بشه و فقط و فقط آخرین نسخه پایتون باشه
توی پای چرم وقتی میخوام پروژه جدید بسازم قسمت interpereater
سه تا انتخاب میاد
میخوام یه انتخاب باشه و اون آخرین نسخه از پایتون باشه

عکس

@SMMousavi
@lxsameer
@pouya-abbassi

ممنون میشم دقیق راهنمایی کنید

خیلی بهتره که برای نصب ورژن های مختلف پایتون از pyenv استفاده کنین

2 پسندیده

میخوام کلا روی لینوکس فقط یه پایتون باشه اونم آخرین نسخه پایتون

دلیلش چیه ؟

2 پسندیده

سلام، خیلی وقت پیش @lxsameer همین پیشنهاد نصب pyenv رو به من داد و من مدت ها مقاومت میکردم تا اینکه بالاخره نصبش کردم و الآن میبینم چه قدر خوبه و پشیمونم چرا زودتر نصب نکردم.
در کل توی نت هم سرچ کنید پیشنهاد میکنن که python سیستم رو دستکاری نکنید و بزارید همونی که هست بمونه و با آپدیت خود سیستم عامل اگه نیاز هست آپدیت بشه.
از pyenv اگه استفاده کنید میتونید هر چند تا نسخه ای که لازم دارین python نصب کنید و به صورت global یا پروژه به پروژه مشخص کنید چه ورژنی باید استفاده بشه. خیلی به درد میخوره چون مثلا پایتون سیستم من 3.8.2 هست ولی tensorflow که من دارم یاد میگیرم و کار میکنم با این نسخه کار نمیکنه و پایتون 3.6 براش بهتره، از اون طرف اگه یه پروژه برای یه نفر بفرستین و مشکلی وجود داشته باشه میتونید ازش ورژن پایتونش رو بپرسین و همون رو با pyenv نصب کنید و تست کنید، مثلا من از این روش برای نمایش اطلاعات استفاده میکنم:

num = 20
print(f"Your number is {num}")

مقدار متغیر num رو توی رشته جایگزین و چاپ میکنه.
این ویژگی توی پایتون های نسخه 3.5 و قدیمی تر نیست و همین مشکل باعث میشد کد اجرا نشه و کسی هم که پروژه رو بهش تحویل دادم هیچ اطلاعاتی در مورد برنامه نویسی و پایتون نداشت که این مشکل ساده رو حل کنه و بعد از این که ورژن پایتونش رو پرسیدم با pyenv خیلی سریع و راحت نصب کردم، تست کردم و مشکل رو حل کردم.
مورد بعدی این که دیگه نیازی نیست توی نصب پکیج ها --user بزنید و بعد احتمالا چون directory ای که پکیج رو نصب میکنه توی PATH نیست برید و به PATH اضافه کنید.

بسه یا بازم بگم :smile:

1 پسندیده

تشکر از پاسخ شما
@lxsameer
@SMMousavi
یعنی شما میگید از virtualenv استفاده کنیم
خب قبل از استفاده از virtualenv باید پایتون نسخه مورد نظر رو نصب کنیم
در مورد pip توضیح میدی . به چه صورت آخرین نسخه pip رو نصب کنم به این صورت
sudo apt-get install python3.8 pip

virtualenv چیزه دیگه ای هست کاملا شما از یه ابزاری باید استفاده کنین به اسم pyenv. با این ابزار می تونین چند پایتون مختلف با ورژن های مختلف رو بدون نیاز به دسترسی root نصب کنین.

2 پسندیده

قبلا توی ویندوز که داشتم پایتون کار میکردم با virtualenv آشنا شدم
میشه یه مقاله فارسی در مورد pyenv معرفی کنید
چون توی گوگل سرچ زدم بیشتر در مورد virtualenv اومد

فارسی بعید می دونم چیزی باشه ولی این صفحه اصلی پروژه هست:

2 پسندیده

نصب و استفاده ازش خیلی راحته
با این دستور نصبش کنید:

curl https://pyenv.run | bash

آخر نصب خودش یه دو خط رو میگه به آخر فایل .bashrc یا اگه از zsh استفاده میکنید به .zshrc اضافه کنید. این کار رو انجام بدین.

بعدش ترمینال رو ببندید دوباره باز کنید.

حالا با دستور زیر میتونید پایتون 3.6.10 یا هر ورژنی که دوست دارین رو نصب کنید:

pyenv install 3.6.10

حالا فعالش کنید:

pyenv global 3.6.10

الآن اگه دستور زیر رو بزنید میبینید که ورژن پایتونتون شده 3.6.10 بدون دستکاری پایتون اصلی سیستم عامل:

python --version

اگه خواستین دوباره به پایتون اصلی سیستم برگردین (پیشنهاد نمیشه) دستور زیر رو بزنید:

pyenv global system

میخواین ببینید چه نسخه هایی از پایتون موجوده برای نصب؟ دستور زیر رو بزنید.

pyenv install --list
2 پسندیده

@lxsameer
@SMMousavi
pyenv فقط برای مدیریت نسخه های نصب شده پایتون روی سیستم هست ؟
و با virualenv فرق داره ؟
من الان چندتا پایتون روی سیستمم نصب کردم با دستور alis گفتم هر موقع زدم python همون python3.8 رو برام اجرا کن
با این کار دیگه نیازی به pyenv نیست ؟
چون توی virualenv هم میشد توی یه پروژه از یه نسخه از پایتون استفاده کرد و توی یه پروژه از نسخه بالاترش
برای نصب pip چه روشی پیشنهاد میدید
با تشکر

بله

ببینید شما وقتی یه مشکلی دارین به روش های مختلف میتونید حلش کنید، فرض کنید میخواین آب بخورین و مشکل اینه که چیزی ندارین آب رو توش بریزین، میتونید لیوان تهیه کنید و آب بخورید،‌میتونید آب رو توی یه بشقاب بریزین بخورین در هر دو حالت مشکلتون حل میشه، ولی با چه کیفیتی؟
هدف کلی pyenv اینه که بدون نیاز به سیستم عامل و بدون دستکاری python سیستم برای شما ورژنی که نیاز دارین رو فراهم کنه. دو تا مزیت مهم داره pyenv در مقایسه با کاری که شما کردین، اول اینکه همونطوری که قبلا گفتم دستکاری ورژن پایتون سیستم توصیه نمیشه و ممکنه مشکل ساز بشه،‌ دوم این که pyenv شما رو وابسته به سیستم عامل نمیکنه، فرض کنید یه مدت دیگه برین روی arch یا fedora و اصلا ورژن پایتونی که میخواین، روی ریپازیتوری رسمی نباشه، اینجاست که اگه با pyenv کار کنید وابستگی به سیستم عامل و ریپازیتوری اون سیستم عامل ندارین.