पिपेनव: कमांड नॉट फाउंड


119

मैं पायथन विकास के लिए नया हूं और पिपेनव का उपयोग करने का प्रयास कर रहा हूं। मैंने कमांड चलाया pip install pipenv, जो सफलतापूर्वक चला:

...
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
...

हालाँकि, जब मैं pipenv installएक नए रूट प्रोजेक्ट डायरेक्टरी में कमांड चलाता हूं तो मुझे निम्न संदेश प्राप्त होता है -bash: pipenv: command not found:। मुझे संदेह है कि मुझे अपने .bashrc को संशोधित करने की आवश्यकता हो सकती है, लेकिन मैं इस बारे में स्पष्ट नहीं हूं कि फ़ाइल में क्या जोड़ना है या यदि संशोधन भी आवश्यक है।


1
चेक /usr/local/bin/pipenv- क्या यह वहाँ है? है /usr/local/binअपने में $PATH?
पीएचडी

3
यहाँ भी यही समस्या है: सफलतापूर्वक बनाया गया पाइपनव लेकिन / usr / लोकल / बिन में pipenv फोल्डर का कोई चिन्ह नहीं।
21

क्या आप pipenvविश्व स्तर पर स्थापित कर रहे हैं ?
डेट्स

जवाबों:


126

ऐसा इसलिए होता है क्योंकि आप इसे विश्व स्तर पर स्थापित नहीं कर रहे हैं (सिस्टम वाइड)। आपके लिए यह उपलब्ध होने के लिए pathआपको इसका उपयोग करके इसे स्थापित करना होगा sudo, जैसे:

$ sudo pip install pipenv

86
कॉपी-एंड-पेस्टर्स के लिए, यह कमांड आमतौर sudo -H pip install -U pipenvपर (जैसे ubuntu) पर इंस्टॉल की pipenvजाती है , जिसमें इंस्टॉल किया जाता है /usr/local/bin। विकल्प एक उपयोगकर्ता स्थापित है, उदाहरण के लिए $ pip install pipenv, जो कि जैसा है $ pip install --user pipenv, जो चीजों को स्थापित करता है $HOME/.local/..., PATHको अन्य उत्तर के रूप में संशोधित करने की आवश्यकता होती है , stackoverflow.com/a/47111756/127971
michael

2
यह मुझे हर बार नए डेस्कटॉप वातावरण के साथ मिलता है।
Ligemer

@michael आपके पास टिप्पणी में सबसे अच्छा जवाब है। शर्म की बात है! इसे उत्तर पुरुष के रूप में पोस्ट करें
राहुल

@michael यह केवल एक चीज है जो मेरे लिए काम करती है, बहुत बहुत धन्यवाद!
जयकारेलटन

@michael उत्तर के लिए धन्यवाद। पुष्टि की यह काम किया।
अल्ट्रासाउंडर

128

यह मेरे लिए यह तय:

sudo -H pip install -U pipenv

3
पूरी तरह से काम किया! संयोग से आप जानते हैं कि इन आदेशों का क्या अर्थ है (-एच और -यू)?
Babbz77

12
@ Babbz77 The -H (HOME) के लिए sudo विकल्प अनुरोध करता है कि सुरक्षा नीति गृह परिवेश चर को लक्ष्य डेटाबेस (डिफ़ॉल्ट रूप से रूट) के होम निर्देशिका में पासवर्ड डेटाबेस द्वारा निर्दिष्ट के रूप में सेट करती है। पाइप के लिए -U नवीनतम उपलब्ध संस्करण के लिए सभी निर्दिष्ट पैकेजों को अपग्रेड करें। निर्भरता की हैंडलिंग उन्नयन पर निर्भर करती है - उपयोग की जाने वाली रणनीति।
एंड्रे वागनोव

बहुत-बहुत धन्यवाद, मैंने कुछ संघर्ष किया, लेकिन आपके जवाब ने मुझे बचा लिया।
vdkotian

1
इसका उत्तर होना चाहिए। पूरी तरह से काम किया। मैंने थोड़ी देर खोजा। धन्यवाद
इवान गोंजालेज

63

यदि आपने उपयोगकर्ता स्थापना की है, तो आपको अपने PATHचर में सही फ़ोल्डर जोड़ना होगा ।

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

पिपेनव की स्थापना निर्देश देखें


यह उपयोगी था, इसमें मुझे दौड़ने की आवश्यकता थी pipenv run, और स्थापना निर्देशों ने मुझे ऐसा बताया।
242424

1
आपको यह python3 -m siteदेखने के लिए परीक्षण करना होगा कि क्या --user-base dir मौजूद है!
क्लाउडियो सैंटोस

जवाब स्वीकार किया जाना चाहिए, धन्यवाद!
मैक्सिम लाफारी

21

मैंने यह कोशिश की:

python -m pipenv # for python2

python3 -m pipenv # for python3

आशा है इससे आपको सहायता मिलेगी।


1
धन्यवाद, कैसे मुझे अजगर को शामिल करने के लिए मुझे हर बार अजगर को शामिल करने की आवश्यकता है?
मुकदमा दायर किया

14

मुझे pipenvमैक ओएस एक्स 10.13 हाई सीरा पर एक ही समस्या है , एक और मैक ठीक काम करता है। मैं अपने Django सर्वर, 2.7 में कुछ और 3.6 में कुछ को तैनात करने के लिए हरोकू का उपयोग करता हूं। इसलिए, मुझे 2.7 और 3.6 दोनों की आवश्यकता है। जब HomeBrew पायथन को स्थापित करता है, तो यह pythonमूल 2.7 पर python3अंक और 3.6 को अंक रखता है ।

के कारण समस्या हो सकती है $ pip install pipenv। मैंने जाँच / usr / स्थानीय / बिन और pipenv नहीं है। इसलिए, मैंने एक पूर्ण स्थापना रद्द करने की कोशिश की:

$ 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.

फिर पुनर्स्थापित करें और अब काम करता है:

$ pip3 install pipenv
Collecting pipenv

8

OSX दोस्तों, कभी यहाँ !!!

जैसा कि @charlax ने उत्तर दिया (मेरे लिए सबसे अच्छा एक), आप PATH को सेट करने के लिए एक अधिक गतिशील कमांड का उपयोग कर सकते हैं, मैक उपयोगकर्ताओं के लिए यह काम नहीं कर सकता है , कभी-कभी साइट से प्राप्त आपका USER_BASE पथ गलत है, इसलिए आपको यह खोजने की आवश्यकता है कि आपका कहां है अजगर स्थापना है

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

आपको एक सिमलिंक मिलेगा, फिर आपको स्रोत के सिम्लिंक को खोजने की आवश्यकता है।

$ 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

( ../../../इसका अर्थ है जड़)

तो आप अजगर पथ पाया ( /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6), तो आप बस आप में डाल करने की आवश्यकता है ~ / .bashrc इस प्रकार है:

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


1
मेरा मुद्दा तय किया। चीयर्स
फ्लोरन गेम्हलिन

मैंने होमब्रे के माध्यम से पायथन 3 स्थापित किया। जब which python3आउटपुट चला , /Cellar/python/3.7.7/bin/python3जिसे मैंने अपने पैट को सौंपा था , लेकिन फिर भी `` पिपेनव` नहीं मिला `। कोई उपाय?
ओजकॉन सर्टस

6

जहां पायथन स्टोर पैकेज करता है

स्थापित होने वाली कमांड में कूदने से पहले pipenv, यह समझने योग्य है कि pip पायथन पैकेजों को कहां स्थापित किया गया है

वैश्विक साइट-पैकेज वह जगह है जहां पायथन संकुल स्थापित करता है जो सिस्टम पर सभी उपयोगकर्ताओं और सभी पायथन अनुप्रयोगों के लिए उपलब्ध होगा। आप कमांड के साथ वैश्विक साइट पैकेज की जांच कर सकते हैं

python -m site

उदाहरण के लिए, पायथन 3.7 के साथ लिनक्स पर पथ आमतौर पर है

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

उपयोगकर्ता साइट-पैकेज वह जगह है जहाँ पायथन केवल आपके लिए उपलब्ध पैकेजों को स्थापित करता है। लेकिन पैकेज अभी भी उन सभी पायथन परियोजनाओं को दिखाई देंगे जो आप बनाते हैं। आपको साथ मिल सकता है

python -m site --user-base

पायथन 3.7 के साथ लिनक्स पर रास्ता आमतौर पर है

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

पायथन 3.x का उपयोग करना

अधिकांश लिनक्स और अन्य यूनियनों पर, आमतौर पर पायथन 2 और पायथन 3 को साथ-साथ स्थापित किया जाता है। डिफ़ॉल्ट पायथन 3 निष्पादन योग्य लगभग हमेशा होता है python3pipआपके लिनक्स वितरण के आधार पर, निम्नलिखित में से किसी एक के रूप में उपलब्ध हो सकता है

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

लिनक्स

के pipसाथ प्रयोग करने से बचें sudo! हां, यह पायथन पैकेजों को स्थापित करने का सबसे सुविधाजनक तरीका है और निष्पादन योग्य उपलब्ध है /usr/local/bin/pipenv, लेकिन इसका मतलब यह भी है कि विशिष्ट पैकेज हमेशा सभी उपयोगकर्ताओं, और आपके द्वारा बनाए गए सभी पायथन प्रोजेक्ट्स के लिए दिखाई देता है। इसके बजाय, प्रति-उपयोगकर्ता साइट पैकेजों का उपयोग करें--user

pip3 install --user pipenv

pipenv पर उपलब्ध है

~/.local/bin/pipenv

मैक ओ एस

मैकओएस पर, होमब्रे को पायथन को स्थापित करने का अनुशंसित तरीका है । आप आसानी से पायथन को अपग्रेड कर सकते हैं, पायथन के कई संस्करणों को स्थापित कर सकते हैं और होमब्रे का उपयोग करके संस्करणों के बीच स्विच कर सकते हैं।

यदि आप Homebrew'ed Python का उपयोग कर रहे हैं, pip install --userतो अक्षम है। वैश्विक साइट-पैकेज पर स्थित है

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

और आप यहां सुरक्षित रूप से पायथन पैकेज स्थापित कर सकते हैं। अजगर 3. मैं भी मॉड्यूल की खोज करता है:

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

खिड़कियाँ

विरासत कारणों से, पायथन में स्थापित किया गया है C:\Python37। पायथन निष्पादन योग्य आमतौर पर नाम दिया गया है py.exe, और आप pipसाथ चला सकते हैं py -m pip

में वैश्विक साइट संकुल स्थापित है

C:\Python37\lib\site-packages

चूंकि आप आमतौर पर अपने विंडोज उपकरणों को साझा नहीं करते हैं, इसलिए वैश्विक स्तर पर पैकेज स्थापित करना भी ठीक है

py -m pip install pipenv

pipenv अब उपलब्ध है

C:\Python37\Scripts\pipenv.exe

मैं विंडोज में पायथन पैकेज स्थापित करने की अनुशंसा नहीं करता --user, क्योंकि डिफ़ॉल्ट उपयोगकर्ता साइट-पैकेज निर्देशिका आपके विंडोज रोमिंग प्रोफ़ाइल में है

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

रोमिंग प्रोफ़ाइल का उपयोग टर्मिनल सेवाओं (रिमोट डेस्कटॉप, सिट्रिक्स आदि) में किया जाता है और जब आप कॉर्पोरेट वातावरण में लॉग ऑन / ऑफ करते हैं। विंडोज में स्लो लॉगिन, लॉगऑफ और रिबूट एक बड़े रोमिंग प्रोफाइल के कारण हो सकता है।


5

विश्व स्तर पर पाइपेनव को स्थापित करने से वैश्विक / सिस्टम-प्रबंधित पाइप इंस्टॉलेशन को अधिलेखित करके प्रतिकूल प्रभाव पड़ सकता है, इस प्रकार पाइप को चलाने की कोशिश करते समय आयात त्रुटियां होती हैं।

आप उपयोगकर्ता स्तर पर pipenv स्थापित कर सकते हैं:

pip install --user pipenv

इसे /home/username/.local में उपयोगकर्ता-स्तर पर pipenv को स्थापित करना चाहिए ताकि यह पाइप के वैश्विक संस्करण के साथ संघर्ष न करे। मेरे मामले में, कि'-user 'स्विच को चलाने के बाद भी काम नहीं किया गया था, इसलिए मैंने सिस्टम प्रबंधित वातावरण को पुनर्स्थापित करने के लिए एक बार' मैं क्या खराब कर दिया 'कमांड को लंबे समय तक चलाया।

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

^ यहां पाया गया: पाइप अपग्रेड करने के बाद त्रुटि: 'मुख्य' नाम आयात नहीं कर सकता

और फिर निम्नलिखित किया:

mkdir /home/username/.local ... अगर यह पहले से मौजूद नहीं है

export PYTHONUSERBASE=/home/username/.local

सुनिश्चित करें कि निर्यात प्रभावी हुआ (इस प्रक्रिया के दौरान मुझे एक बार):

echo $PYTHONUSERBASE

फिर, मैं भागा pip install --user pipenvऔर सब ठीक था। मैं तब CLI से pipenv चला सकता था और इसने वैश्विक / सिस्टम-प्रबंधित पाइप मॉड्यूल को अधिलेखित नहीं किया था। बेशक, यह उपयोगकर्ता के लिए विशिष्ट है, इसलिए आप यह सुनिश्चित करना चाहते हैं कि आप इस तरह से pipenv स्थापित करें, जिस उपयोगकर्ता के साथ आप pipenv का उपयोग करना चाहते हैं।

संदर्भ:

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



1

पिपेनव ( sudo pip install pipenv) स्थापित करने के बाद , कमांड चलाने का प्रयास करते समय मुझे "कमांड नॉट फाउंड" त्रुटि मिलती रही pipenv shell

मैंने अंत में इसे निम्नलिखित कोड के साथ तय किया:

pip3 install pipenv
pipenv shell

0

आप के pipenvमाध्यम से स्थापित करने पर विचार कर सकते हैं pipsi

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

दुर्भाग्य से लेखन के समय macOS + python3 के साथ कुछ समस्याएं हैं, 1 , 2 देखें । मेरे मामले में मुझे bashprompt को बदलना पड़ा#!/Users/einselbst/.local/venvs/pipsi/bin/python


0

पुराने pipसंस्करण के कुछ मामलों में :

sudo easy_install pip
sudo pip install pipenv

0

विंडो उपयोगकर्ताओं के लिए यह वर्चुअलबेनव के साथ परस्पर विरोधी संस्थापन के कारण हो सकता है। मेरे लिए यह तब काम आया जब मैंने पहले virtualenv और pipenv को अनइंस्टॉल किया, और उसके बाद केवल pipenv स्थापित किया।

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

अब pipenv install xxxमेरे लिए काम किया


0

मैक ओएस एक्स कैटालिना पर यह लिनक्स पथ का अनुसरण करता प्रतीत होता है। इनमें से किसी का उपयोग करना:

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

यहाँ आवश्यक रूप से पाइपनव स्थापित करता है:

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

लेकिन इसका निष्पादन योग्य नहीं है और ऐसा कभी नहीं पाया जाता है। केवल एक चीज जो मेरे लिए काम करती थी

pip install --user pipenv

यह __init__.pyउपरोक्त निर्देशिका में एक फ़ाइल के परिणामस्वरूप प्रतीत होता है जिसमें pipenvकमांड को सही ढंग से उजागर करने की सामग्री है ।

और सब कुछ काम करना शुरू कर दिया, जब इस सवाल पर अन्य सभी पोस्ट और टिप्पणी के सुझाव विफल रहे।

पिपेनव पैकेज निश्चित रूप से काफी अचारदार लगता है।


मैक उपयोगकर्ताओं के लिए यह कोड भी काम करता है, sudo -H python3 -m pip install pipenv
जे डांगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.