Pipenv: Komut Bulunamadı


119

Python geliştirmede yeniyim ve pipenv kullanmaya çalışıyorum. pip install pipenvBaşarıyla çalışan komutu çalıştırdım:

...
Successfully built pipenv pathlib shutilwhich pythonz-bd virtualenv-clone
Installing collected packages: virtualenv, pathlib, shutilwhich, backports.shutil-get-terminal-size, pythonz-bd, virtualenv-clone, pew, first, six, click, pip-tools, certifi, chardet, idna, urllib3, requests, pipenv
...

Ben komutu çalıştırdığınızda, ancak pipenv installtaze kök proje dizininde ben şu iletisi: -bash: pipenv: command not found. .Bashrc dosyamı değiştirmem gerekebileceğinden şüpheleniyorum, ancak dosyaya ne ekleyeceğimi veya hatta değişiklik gerekip gerekmediğini bilmiyorum.


1
Kontrol /usr/local/bin/pipenv- orada mı? Senin /usr/local/biniçinde $PATHmi
doktor

3
Burada da aynı sorun var: pipenv başarıyla oluşturuldu ancak / usr / local / bin içinde pipenv klasörü belirtisi yok.
2017

pipenvGlobal olarak mı kuruyorsunuz ?
dethos

Yanıtlar:


128

Bunun nedeni, onu global olarak (sistem genelinde) kurmamanızdır. Sizin içinde mevcut olması için , aşağıdaki gibi pathkullanarak yüklemeniz gerekir sudo:

$ sudo pip install pipenv

87
Orada kopyalama ve pasters için bu komut genellikle çalıştırılır sudo -H pip install -U pipenv(örn ubuntu üzerine), yükleme pipenviçinde /usr/local/bin. Alternatif bir kullanıcı yüklemek edilir örneğin $ pip install pipenv, aynı olan $ pip install --user pipenvşeyler yükler hangi $HOME/.local/...gerektiren PATHdiğer yanıtında olarak değiştirilecek, stackoverflow.com/a/47111756/127971
michael

3
Bu, her seferinde yeni bir masaüstü ortamıyla beni etkiliyor.
Ligemer

@michael Yorumda en iyi cevaba sahipsiniz. Utanç! Cevap olarak gönder adamım
Rahul

@michael bu benim için çalışan tek şey, çok teşekkürler!
jaycarleton

@michael Cevap için teşekkürler. İşe yaradığını doğruladı.
ultrasounder

128

Bu benim için düzeltti:

sudo -H pip install -U pipenv

3
Mükemmel çalıştı! Şans eseri bu komutların ne anlama geldiğini biliyor musunuz (-H ve -U)?
Babbz77

12
@ Babbz77 Sudo seçeneği için -H (HOME), güvenlik politikasının HOME ortam değişkenini, parola veritabanı tarafından belirtildiği şekilde hedef kullanıcının ana dizinine (varsayılan olarak kök) ayarlamasını ister. Pip kurulumu için -U, belirtilen tüm paketleri mevcut en yeni sürüme yükseltir. Bağımlılıkların işlenmesi, kullanılan yükseltmeye - stratejiye bağlıdır.
Andrey Vaganov

Çok teşekkür ederim, biraz mücadele ettim ama cevabın beni kurtardı.
vdkotian

1
Cevap bu olmalı. Mükemmel çalıştı. Bir süre aradım. Teşekkürler
Ivan Gonzalez

63

Bir kullanıcı kurulumu yaptıysanız, PATHdeğişkeninize doğru klasörü eklemeniz gerekir .

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

Pipenv'in kurulum talimatlarına bakın


Bu, çalıştırmam gerektiğinden faydalı oldu pipenv runve kurulum talimatları bana bunu söyledi.
eksortso

1
python3 -m site--User-base dizininin var olup olmadığını test etmelisiniz !
Claudio Santos

Cevap kabul edilmelidir, teşekkür ederim!
Maxime Lafarie

21

Bunu denedim:

python -m pipenv # for python2

python3 -m pipenv # for python3

Umarım bu size yardımcı olabilir.


1
teşekkürler, pipenv'i her çalıştırdığımda neden python -m eklemem gerekiyor?
2019

14

pipenvMac OS X 10.13 High Seirra'da da aynı sorunu yaşıyorum, başka bir Mac gayet iyi çalışıyor. Bazıları 2.7 ve bazıları 3.6'da olmak üzere Django sunucularımı dağıtmak için Heroku kullanıyorum. Yani hem 2.7 hem de 3.6'ya ihtiyacım var. HomeBrew Python'u kurduğunda, pythonpuanları orijinal 2.7'yi tutar ve 3.6'yı python3gösterir.

Sorun olabilir $ pip install pipenv. / Usr / local / bin kontrol ettim ve pipenv orada değil. Bu yüzden tam bir kaldırmayı denedim:

$ pip uninstall pipenv

Cannot uninstall requirement pipenv, not installed
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

$ pip3 uninstall pipenv
Skipping pipenv as it is not installed.

Ardından yeniden yükleyin ve şimdi çalışıyor:

$ pip3 install pipenv
Collecting pipenv

8

OSX GUYS, BURADA!

@Charlax'ın yanıtladığı gibi (benim için en iyisi), PATH'i ayarlamak için daha dinamik bir komut kullanabilirsiniz, buuut mac kullanıcıları için bu işe yaramadı , bazen USER_BASE yolunuz siteden yanlış geliyor, bu nedenle nerede olduğunu bulmanız gerekir. python kurulumu.

$ which python3
/usr/local/bin/python3.6

bir sembolik bağ alırsınız, sonra kaynağın sembolik bağını bulmanız gerekir.

$ ls -la /usr/local/bin/python3.6
  lrwxr-xr-x  1 root  wheel  71 Mar 14 17:56 /usr/local/bin/python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

(bu ../../../kök anlamına gelir)

Böylece python yolunu ( /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6) buldunuz, ardından ~ / .bashrc'yi aşağıdaki gibi girmeniz yeterlidir:

export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"


1
Sorunum düzeltildi. Şerefe
Floran Gmehlin

Python3'ü Homebrew üzerinden kurdum. Bittiği zaman which python3çıkış oldu /Cellar/python/3.7.7/bin/python3ben found` `` hala pipenv` benim PATH bunu atanan ancak. Herhangi bir fikir?
Özkan Serttas

6

Python paketleri nerede saklıyor?

Yüklenecek komuta geçmeden önce pipenv, pip Python paketlerinin nereye kurulduğunu anlamaya değer .

Global site paketleri , Python'un sistemdeki tüm kullanıcılar ve tüm Python uygulamaları için mevcut olacak paketleri yüklediği yerdir. Global site paketini şu komutla kontrol edebilirsiniz:

python -m site

Örneğin, Python 3.7 ile Linux'ta yol genellikle

/usr/lib/python3.7/dist-packages/setuptools

Kullanıcı site paketleri , Python'un yalnızca sizin için kullanılabilen paketleri yüklediği yerdir. Ancak paketler, oluşturduğunuz tüm Python projeleri tarafından görülebilecek. Yolu ile alabilirsin

python -m site --user-base

Python 3.7 ile Linux'ta yol genellikle

~/.local/lib/python3.7/site-packages

Python 3.x'i kullanma

Çoğu Linux ve diğer Unices üzerinde, genellikle Python 2 ve Python 3 yan yana kurulur. Varsayılan Python 3 çalıştırılabilir dosyası neredeyse her zaman python3. pipLinux dağıtımınıza bağlı olarak aşağıdakilerden biri olarak mevcut olabilir

pip3
python3-pip
python36-pip
python3.6-pip

Linux

Kullanmaktan kaçının pipile sudo! Evet, Python paketlerini kurmanın en uygun yoludur ve çalıştırılabilir dosya adresinde mevcuttur /usr/local/bin/pipenv, ancak aynı zamanda belirli bir paketin tüm kullanıcılar ve oluşturduğunuz tüm Python projeleri tarafından her zaman görülebileceği anlamına gelir. Bunun yerine, kullanıcı başına site paketlerini kullanın--user

pip3 install --user pipenv

pipenv mevcuttur

~/.local/bin/pipenv

Mac os işletim sistemi

MacOS'ta Homebrew, Python'u kurmanın önerilen yoludur . Homebrew kullanarak Python'u kolayca yükseltebilir, birden çok Python sürümünü yükleyebilir ve sürümler arasında geçiş yapabilirsiniz.

Homebrew'ed Python kullanıyorsanız pip install --user, devre dışı bırakılır. Global site paketi şu adreste bulunur:

/usr/local/lib/python3.y/site-packages

ve buradan Python paketlerini güvenle kurabilirsiniz. Python 3.y ayrıca aşağıdaki modülleri arar:

 /Library/Python/3.y/site-packages
 ~/Library/Python/3.y/lib/python/site-packages

pencereler

Eski nedenlerden dolayı, Python C:\Python37. Python yürütülebilir dosyası genellikle adlandırılır py.exeve pipile çalıştırabilirsiniz py -m pip.

Global site paketleri şuraya yüklenir:

C:\Python37\lib\site-packages

Genellikle Windows cihazlarınızı paylaşmadığınız için, global olarak bir paket yüklemekte de sorun yoktur.

py -m pip install pipenv

pipenv şu anda şurada mevcuttur:

C:\Python37\Scripts\pipenv.exe

Windows'ta Python paketlerini yüklemenizi önermiyorum --userçünkü varsayılan kullanıcı site paketi dizini Windows dolaşım profilinizdedir.

C:\Users\user\AppData\Roaming\Python\Python37\site-packages 

Dolaşım profili, Terminal Hizmetlerinde (Uzak Masaüstü, Citrix, vb.) Ve bir şirket ortamında oturum açıp / kapattığınızda kullanılır. Windows'ta yavaş oturum açma, oturum kapatma ve yeniden başlatma, büyük bir dolaşım profilinden kaynaklanabilir.


5

Pipenv'i global olarak kurmak, global / sistem tarafından yönetilen pip kurulumunun üzerine yazarak olumsuz bir etkiye sahip olabilir ve bu da pip çalıştırmaya çalışırken içe aktarma hatalarına neden olabilir.

Pipenv'i kullanıcı düzeyinde kurabilirsiniz:

pip install --user pipenv

Bu pipenv'i /home/username/.local içinde bir kullanıcı düzeyinde kurmalıdır, böylece pip'in genel sürümü ile çakışmaz. Benim durumumda, bu '- kullanıcı' anahtarını çalıştırdıktan sonra hala işe yaramadı, bu yüzden sistem tarafından yönetilen ortamı geri yüklemek için daha uzun olan 'berbat ettiğimi düzelt' komutunu bir kez çalıştırdım:

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

^ burada bulundu: pip yükseltildikten sonra hata: 'main' adı içe aktarılamıyor

ve sonra şunları yaptı:

mkdir /home/username/.local ... zaten yoksa

export PYTHONUSERBASE=/home/username/.local

Dışa aktarma işleminin etkili olduğundan emin olun (bu işlem sırasında beni bir kez ısırın):

echo $PYTHONUSERBASE

Sonra koştum pip install --user pipenvve her şey yolunda gitti. Daha sonra pipenv'i CLI'den çalıştırabildim ve global / sistem tarafından yönetilen pip modülünün üzerine yazmadı. Tabii ki, bu kullanıcıya özeldir, dolayısıyla pipenv'i kullanmak istediğiniz kullanıcı olarak çalışırken pipenv'i bu şekilde kurduğunuzdan emin olmak istersiniz.

Referanslar:

https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs



1

Pipenv ( sudo pip install pipenv) yükledikten sonra , pipenv shellkomutu çalıştırmaya çalışırken "Komut Bulunamadı" hatasını almaya devam ettim .

Sonunda aşağıdaki kodla düzelttim:

pip3 install pipenv
pipenv shell

0

Sen yüklemeyi düşünebilirsiniz pipenvyoluyla pipsi.

curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv

Maalesef, yazarken macOS + python3 ile ilgili bazı sorunlar var, bkz. 1 , 2 . Benim durumumda bashprompt'u şu şekilde değiştirmek zorunda kaldım:#!/Users/einselbst/.local/venvs/pipsi/bin/python


0

Bazı eski pipsürüm durumlarında :

sudo easy_install pip
sudo pip install pipenv

0

Pencere kullanıcıları için bu, virtualenv ile çakışan kurulumdan kaynaklanıyor olabilir. Benim için ilk önce virtualenv ve pipenv'i kaldırdığımda ve ardından yalnızca pipenv'i kurduğumda işe yaradı.

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

Şimdi pipenv install xxxbenim için çalıştı


0

Mac OS X Catalina'da Linux yolunu izliyor gibi görünüyor. Aşağıdakilerden herhangi birini kullanma:

pip install pipenv
pip3 install pipenv
sudo pip install pipenv
sudo pip3 install pipenv

Esasen pipenv'i buraya yükler:

/Users/mike/Library/Python/3.7/lib/python/site-packages/pipenv

Ancak bu çalıştırılabilir değildir ve bu yüzden asla bulunmaz. Benim için işe yarayan tek şey

pip install --user pipenv

Bu __init__.py, yukarıdaki dizinde, pipenvkomutu doğru şekilde açığa çıkaracak içeriğe sahip bir dosya ile sonuçlanıyor gibi görünüyor .

ve bu soruya ilişkin diğer tüm öneriler gönderilip yorumlandığında, her şey çalışmaya başladı.

Pipenv paketi kesinlikle oldukça seçici görünüyor.


Mac kullanıcıları bu kod da çalışır için, sudo -H python3 -m pip pipenv yüklemek
Jay Dangar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.