virtualenv default packages

پرسیده شده
فعالیت 1171 روز پیش
دیده شده 828 بار
0

سلام وقت بخیر

 

بنده به یه مشکلی برخوردم

هروقت میخوام venv بسازم با دستور

virtualenv -p python3 <name>

بصورت پیشفرض پکیج های زیر رو هم نصب میکنه ( درحالی که توو ویدئو این پیکج ها نصب نیستن )

appdirs==1.4.3
CacheControl==0.12.6
certifi==2019.11.28
chardet==3.0.4
colorama==0.4.3
contextlib2==0.6.0
distlib==0.3.0
distro==1.4.0
html5lib==1.0.1
idna==2.8
ipaddr==2.2.0
lockfile==0.12.2
msgpack==0.6.2
packaging==20.3
pep517==0.8.2
progress==1.5
pyparsing==2.4.6
pytoml==0.1.21
requests==2.22.0
retrying==1.3.3
six==1.14.0
urllib3==1.25.8
webencodings==0.5.1

درحالیکه با دستور زیر وقتی venv میسازم هیچ پکیج پیشفرضی نصب نیست.

python3 -m venv <name>  

درضمن قبلا هیچ پکیجی روو سیستم عامل نصب نشده

سیستم عامل تازه نصب شده 

فایل پیوست

محمدرضا نصیری
محمدرضا نصیری

22 بهمن 99

1
حذف شده

من و محمد رضا نصیری یه صحبت هایی رو تو تگرام کردیم که همه اش رو اینجا میذارم:

- من:

سلاااااااااااااااااااااااام
خوبی؟

این خروجی چه دستوری عه؟

created virtual environment CPython3.8.5.final.0-64 in 1029ms
 creator CPython3Posix(dest=/home/death/Projects/Academy/test/venv, clear=False, global=False)
 seeder FromAppData(download=False, html5lib=latest, msgpack=latest, pkg_resources=latest, idna=latest, ipaddr=latest, packaging=latest, colorama=latest, certifi=latest, pyparsing=latest, wheel=latest, urllib3=latest, CacheControl=latest, webencodings=latest, pytoml=latest, setuptools=latest, retrying=latest, chardet=latest, distro=latest, contextlib2=latest, appdirs=latest, pep517=latest, lockfile=latest, six=latest, requests=latest, distlib=latest, pip=latest, progress=latest, via=copy, app_data_dir=/home/death/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

بنظر میاد یا داری اشتباه virtualenv میسازی یا با یه ابزار دیگه میسازی...

یه ترمینال باز کن و این دستورات رو بزن:

pip3 install virtualenv
virtualenv venv

درست کار میکنه؟ باز هم همون مشکل رو داری؟
دستور زیر چی؟

virtualenv -p python3 venv

 

+ محمدرضا نصیری

سلام متشکرم شما خوبین

این خروجی دستور

virtualenv -p python3 <name>

خروجی دستور :

pip3 install virtualenv

اینه :

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: virtualenv in /usr/lib/python3/dist-packages (20.0.17)

دستور

virtualenv venv

هم کار میکنه ولی خروجیش دقیقا همون خروجی ای که الان ریپلی کردم
و وقتی فعالش میکنم و pip freeze میزنم همون پیکج هایی که قید کردم رو پیش فرض نصب کرده

دستور

virtualenv -p python3 venv

هم‌ دقیقا مثه دستوره بالاییش عمل میکنه و همون خروجی رو میده و همون پیکج هارو پیشفرض نصب میکنه

بعد یه مسئله ای هم هست خروجی pip list سیستم عامل خیلی زیاده پکیج هاش ینی اصن نرمال نیس بنظرم

نمیدونم خروجی pip list شما چیه ولی الان میفرستم خروجیشو ببینید نرماله برا سیستم عاملی که تازه نصب شده و هیچ پکیجی روو سیستم نصب نشده؟

( البته یه مسئله ای هم هست من سیستم عاملم رو رویه vmware بالا میارم
این قضیه که نمیتونه دخیل باشه توو مشکلات؟ چون بنظرم vmware ایزوله میکنه هر سیستم عامل رو خودش)

 

- من:

من بیشتر همین احتمال رو میدم. (ریپلای کردم به «ینی ممکنه virtualenv اشتباه نصب شده باشه؟»

بنظرم بهتره همه پکیج هایی که روی سیستم عاملت هست رو حذف کنی. مخصوصا virtualenv رو و دوباره نصبش کنی...
برای این کار تو این مقاله
https://stackoverflow.com/questions/۱۱۲۴۸۰۷۳/what-is-the-easiest-way-to-remove-all-packages-installed-by-pip
این دستور رو گفته:

pip freeze | xargs pip uninstall -y


و بعدش برای اطمینان این دستور هم بزن:

pip uninstall virtualenv

 

بعد دوباره نصبش کن و تست کن:

pip install virtualenv
virtualenv venv
And
virtualenv -p python3 venv

 

+ محمدرضا نصیری:

دستور اول با sudo هم پرمیژن دینای میده?

 

ولی دستور دوم برا حذف virtualenv کار کرد
حذف کرد و دوباره نصب کردم

الان درست شد و venv ای که میسازه هیچ پکیج رو پیشفرض نصب نمیکنه

ولی باز یه مسئله ای هست
توو ویدئو برایه استاد ۲..۳ تا پکیح پیشفرض نصب میشد 
اینکه اونارم نصب نمیکنه مشکلی ایجاد نمیشه؟

 

اقا حل شد
دمت گرم?

فایل پیوست
pip_list.zip
1.01 KB

محمدعلی رضا

توسط

محمدعلی رضا

22 بهمن 99

حذف شده
- من: خب پس با پاک کردن virtualenv و نصب دوباره اش مساله رفع شد؟ احتمالا اون vitualenv ای که قبلا نصب کرده بودی چیز دیگه بوده... یعنی پکیج دیگه ای بوده... + محمد رضا: بله با نصب دوبارش درست شد البته من یه چیزیو چک کردم اینکه: قبله حذف و نصب دوباره نسخه pip سیستم عامل با نسخه pip ای که virtualenv میساخت متفاوت بود و pip تویه venv اپدیت نبود اما حالا بعد از نصب دوباره virtualenv این مورد حل شد و نسخه pip مربوط به اونم آپدیت شد
محمدعلی رضا

23 بهمن 99

0
حذف شده

سلاااااااااااااااااااام وقت شما هم بخیر

به مشکل عجیبی خوردید. من تو اینترنت یه خورده سرچ کردم کسی به این مشکل نخورده انگار.

سیستم عامل تون چیه؟ ورژن اش؟ (بنظرم میاد لینوکس هستید)

نسخه پایتون تون؟

نسخه pip تون؟

نسخه virtualenv تون؟

بعد از ساخت virtualenv فعالش میکنید؟ و تو کامند لاین بهتون نشون میده که فعال شده؟

اگر لینوکس هستید نتیجه دستور زیر چیه؟

which python3

 

گفتید:

بصورت پیشفرض پکیج های زیر رو هم نصب میکنه

یعنی وقت ساخت virtualenv نصب این پکیچ هارو هم نشون تون میده؟ یا اینکه وقتی virtualenv رو فعال میکنید و pip freeze میزنید نشون میده این پکیج ها از قبل نصب هستن؟

فایل پیوست

محمدعلی رضا

توسط

محمدعلی رضا

22 بهمن 99

0
حذف شده

سیستم عاملم ubuntu 20.04

pip روی سیستم عامل نسخه 21.0.1

pip روی venv های ساخته شده 20.0.2

python 3.8.5

virtualenv 20.0.17

بله بعد ساخت venv وقتی با دستور زیر فعالش میکنم خروجی زیر رو نشون میده و توو کامندلاین هم فعال میشه

created virtual environment CPython3.8.5.final.0-64 in 1029ms
 creator CPython3Posix(dest=/home/death/Projects/Academy/test/venv, clear=False, global=False)
 seeder FromAppData(download=False, html5lib=latest, msgpack=latest, pkg_resources=latest, idna=latest, ipaddr=latest, packaging=latest, colorama=latest, certifi=latest, pyparsing=latest, wheel=latest, urllib3=latest, CacheControl=latest, webencodings=latest, pytoml=latest, setuptools=latest, retrying=latest, chardet=latest, distro=latest, contextlib2=latest, appdirs=latest, pep517=latest, lockfile=latest, six=latest, requests=latest, distlib=latest, pip=latest, progress=latest, via=copy, app_data_dir=/home/death/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

و پیشفرض پکیج های قید شد رو نصب میکنه بله وقتی venv ساخته شده رو فعال میکنم و pip freeze میزنم این پکیج ها رو نشون میده که نصب شدن..

خروجی دستور which python3 بصورت زیر نمایش داده میشه

/usr/bin/python3
فایل پیوست

محمدرضا نصیری

توسط

محمدرضا نصیری

22 بهمن 99