بله، روشی برای داشتن پکیج خود در یک مسیر خاص روی هارد دیسک و استفاده از آن در چندین محیط مجازی (venv) بدون کپی دستی پکیج در هر بار استفاده وجود دارد.
در ویندوز، شما میتوانید با استفاده از لینک نمادین (symlink) از دایرکتوری `site-packages` هر محیط مجازی، به محل قرارگیری پکیج در هارد دیسک خود، اتصال بدهید. در این صورت، هرگونه تغییری که در پکیج اعمال میکنید، به صورت خودکار در تمام محیطهای مجازی منعکس خواهد شد.
در زیر توضیح میدهم چگونه میتوانید یک symlink برای پکیج خود ایجاد کنید:
1. در حالت مدیر سیستم ویندوز، دستورپرداز را با دسترسی ادمین باز کنید.
2. به دایرکتوری `Scripts` محیط مجازی خود بروید. به عنوان مثال:
3. با استفاده از دستور `mklink` یک symlink ایجاد کنید. قالب این دستور به صورت زیر است:
mklink /D مسیر_venv\Lib\site-packages\نام_پکیج مسیر_پکیج
`<مسیر_venv>` را با مسیر ریشه محیط مجازی جایگزین کنید، `<نام_پکیج>` را با نام پکیج خود و `<مسیر_پکیج>` را با مسیر پکیج خود در هارد دیسک تعویض کنید.
به عنوان مثال، اگر محیط مجازی شما در `C:\مسیر\به\venv` قرار دارد و پکیج شما در `D:\مسیر\به\پکیج` قرار دارد، دستور به شکل زیر خواهد بود:
mklink /D C:\مسیر\به\venv\Lib\site-packages\پکیج من D:\مسیر\به\پکیج
این دستور یک symlink با نام `پکیج من` در دایرکتوری `site-packages` محیط مجازی شما ایجاد خواهد کرد که به محل قرارگیری پکیج شما اشاره میکند.
این مراحل را برای هر محیط مجازی که میخواهید پکیج خود را در آن استفاده کنید تکرار کنید.
با ایجاد symlink، میتوانید پکیج خود را در یک مسیر خاص روی هارد دیسک نگهداری کنید و از آن در چندین محیط مجازی استفاده کنید، بدون نیاز به کپی دستی پکیج در هر بار استفاده. هر تغییری که در پکیج اعمال میکنید، به صورت خودکار از طریق symlink در تمام محیطهای مجازی منعکس خواهد شد.