Yakın zamanda Linux'ta pip paketlerini yüklerken "harici olarak yönetilen ortam" hatasıyla karşılaştıysanız, bunu nasıl düzeltebileceğiniz aşağıda açıklanmıştır.
Sık sık Python ile çalışıyorsanız ve yakın zamanda Ubuntu 23.04 veya Fedora sürüm 38'e geçtiyseniz, büyük olasılıkla siz de Python paket yöneticisiyle paketleri yüklerken "harici olarak yönetilen ortam" hatasıyla karşılaştım, pip.
Bu hata Ubuntu, Fedora ve diğer dağıtımların eski sürümlerinde asla ortaya çıkmayacağından, bu sinir bozucu ve oldukça şaşırtıcı olabilir. Bu hataya tam olarak neyin sebep olduğunu ve bunu hızlı bir şekilde nasıl düzeltebileceğinizi öğrenelim.
"Harici olarak yönetilen ortam" Hatası Neden Oluşuyor?
Tüm Linux dağıtımlarının en son sürümleri PEP-668'de tanımlanan standartları benimsiyor. Bu değişiklikler, pip paketlerinin varsayılan olarak global bağlamda kurulmamasını sağlar.
Bu, dağıtımın paket yöneticisi ile Python paket yönetimi araçları arasındaki çatışmayı önlemek amacıyla uygulandı. Detayları konudan öğrenebilirsiniz
resmi PEP-668 belgeleri. Bu mekanizmayı geri almak veya geçersiz kılmak istiyorsanız üç yaklaşımı uygulayabilirsiniz.1. "HARİCİ OLARAK YÖNETİLEN" Dosyayı Sil
Bu, "harici olarak yönetilen" pip hatasına yönelik en basit düzeltmedir. Tek yapmanız gereken şuraya gitmek: /usr/lib/python3.xx ve sil DIŞARIDAN YÖNETİLEN dizindeki dosya. İşte bunu yapmak için komutlar:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Hatayı düzeltmek için yapmanız gereken tek şey bu. Bu mekanizmayı geri yüklemeyi seçerseniz aynı dosyayı yeniden oluşturun. dokunma komutu:
sudo touch EXTERNALLY-MANAGED
Artık paketleri pip veya pip3 ile sorunsuz bir şekilde kurabilmelisiniz.
2. Pip Paketlerini Kurmak için Sanal Ortamları Kullanın
Alabileceğiniz başka bir yaklaşım da kullanmaktır. Python projeniz için sanal ortamlar. Sanal ortamlar, programa özel paketleri işletim sisteminden ayırmanın harika bir yoludur ve aynı zamanda projenizi düzgün bir şekilde organize etmenize olanak tanır.
Sanal bir ortamın nasıl oluşturulacağı ve pip ile paketleri nasıl kuracağınız aşağıda açıklanmıştır:
- Öncelikle sanal ortamı şununla oluşturun:
python3 -m venv venv
- Kaynak komutunu kullanarak bin dizini içindeki etkinleştirme dosyasını kaynaklayın:
source venv/bin/activate
Kabuk isteminiz sanal ortam adıyla güncellenmelidir. Artık dilediğiniz Python paketini kurabileceksiniz.
Gördüğünüz gibi açık Python paketi ilk başta kurulamadı ancak sanal ortam oluşturulup geçiş yapıldıktan sonra kusursuz bir şekilde kuruluyor.
3. Python Paketlerini Kurmak için pipx kullanın
pipx, Python paketlerini sanal ve yalıtılmış ortamlarda kurmaya yönelik bir yardımcı programdır. Her paket için sanal ortamlar oluşturmak ve paketlere sembolik bağlantılar oluşturmak gibi adımları otomatikleştirir. .yerel/bin Böylece her paketi istediğiniz zaman kabuktan arayabilirsiniz.
Paketleri yüklemek için pipx'i kullanmak, paketleri sanal ortamlara yüklerken "harici olarak yönetilen ortam" hatasını önlemenize yardımcı olur. Pipx'i kullanmak için öncelikle dağıtımınızın varsayılan paket yöneticisiyle yükleyin.
Ubuntu/Debian türevlerinde:
sudo apt-get install pipx
Arch tabanlı sistemlerde:
sudo pacman -S pipx
Fedora/CentOS/RHEL'de:
sudo dnf install pipx
Pipx'i yükledikten sonra, paketleri yüklemek için pip'i kullandığınız gibi kullanın. İşte örnek bir komut:
pipx install openai
Pipx hakkında daha fazla bilgi edinmek için man komutunu kullanarak man sayfasına bakabilirsiniz.
Artık "Harici Olarak Yönetilen" Hatayı Nasıl Düzelteceğinizi Biliyorsunuz
"Harici olarak yönetilen ortam" hatasını düzelttikten sonra projeniz üzerinde çalışmaya veya genel Python programlama pratiği yapmaya devam edebilmelisiniz. Eğer ikincisine odaklanıyorsanız, farklı oyunlaştırılmış öğrenme yollarına göz atmak isteyebilirsiniz. Python'u veya herhangi bir dili uygulamalı ve ödüllendirici bir şekilde çok daha hızlı öğrenmenize yardımcı olacak programlama yol.