Soy nuevo en el desarrollo de Python e intento usar pipenv. Ejecuté el comando pip install pipenv
, que se ejecutó correctamente:
...
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
...
Sin embargo, cuando ejecuto el comando pipenv install
en un directorio del proyecto raíz fresca recibo el mensaje siguiente: -bash: pipenv: command not found
. Sospecho que podría necesitar modificar mi .bashrc, pero no tengo claro qué agregar al archivo o si es necesario modificarlo.
python
python-3.x
pip
pipenv
lgants
fuente
fuente
/usr/local/bin/pipenv
- ¿está ahí? Está/usr/local/bin
en tu$PATH
?pipenv
nivel mundial?Respuestas:
Eso sucede porque no lo está instalando globalmente (en todo el sistema). Para que esté disponible en su
path
, debe instalarlo usandosudo
, así:fuente
sudo -H pip install -U pipenv
(por ejemplo, en ubuntu), instalándosepipenv
en/usr/local/bin
. La alternativa es una instalación del usuario, por ejemplo,$ pip install pipenv
que es lo mismo que$ pip install --user pipenv
, que instala cosas$HOME/.local/...
, lo que requierePATH
que se modifique como en la otra respuesta, stackoverflow.com/a/47111756/127971Esto me lo arregló:
fuente
Si ha realizado una instalación de usuario, deberá agregar la carpeta correcta a su
PATH
variable.Consulte las instrucciones de instalación de pipenv
fuente
pipenv run
y las instrucciones de instalación me lo indicaban.python3 -m site
para ver si existe el directorio --user-base!Probé esto:
python -m pipenv # for python2
python3 -m pipenv # for python3
Espero que esto le pueda ayudar.
fuente
Tengo el mismo problema con
pipenv
Mac OS X 10.13 High Seirra, otra Mac funciona bien. Utilizo Heroku para implementar mis servidores Django, algunos en 2.7 y otros en 3.6. Entonces, necesito 2.7 y 3.6. Cuando HomeBrew instala Python, mantiene lospython
puntos en el 2.7 original ypython3
apunta a 3.6.El problema podría deberse a
$ pip install pipenv
. Revisé / usr / local / bin y pipenv no está allí. Entonces, probé una desinstalación completa:Luego reinstale y funciona ahora:
fuente
OSX CHICOS, POR AQUÍ !!!
Como respondió @charlax (para mí, el mejor), puede usar un comando más dinámico para configurar PATH, pero para los usuarios de Mac esto no podría funcionar , a veces su ruta USER_BASE obtenida del sitio es incorrecta, por lo que debe averiguar dónde está su La instalación de Python es.
obtendrá un enlace simbólico, luego debe encontrar el enlace simbólico de la fuente.
(esto
../../../
significa raíz)Entonces encontró la ruta de Python (
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
), entonces solo necesita ingresar ~ / .bashrc de la siguiente manera:export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
fuente
which python3
la salida fue la/Cellar/python/3.7.7/bin/python3
que le asigné a mi RUTA pero aún así `` pipenv` no encontrado`. ¿Alguna idea?Donde Python almacena los paquetes
Antes de saltar al comando que se instalará
pipenv
, vale la pena comprender dónde sepip
instalan los paquetes de Python .Paquetes de sitio globales es donde Python instala paquetes que estarán disponibles para todos los usuarios y todas las aplicaciones de Python en el sistema. Puede verificar el paquete del sitio global con el comando
Por ejemplo, en Linux con Python 3.7, la ruta suele ser
Los paquetes de sitio de usuario es donde Python instala los paquetes disponibles solo para usted. Pero los paquetes seguirán siendo visibles para todos los proyectos de Python que cree. Puedes conseguir el camino con
En Linux con Python 3.7, la ruta suele ser
Usando Python 3.x
En la mayoría de Linux y otros Unices, normalmente Python 2 y Python 3 se instalan uno al lado del otro. El ejecutable predeterminado de Python 3 es casi siempre
python3
.pip
puede estar disponible como cualquiera de los siguientes, dependiendo de su distribución de LinuxLinux
¡Evite usar
pip
consudo
! Sí, es la forma más conveniente de instalar paquetes de Python y el ejecutable está disponible en/usr/local/bin/pipenv
, pero también significa que el paquete específico siempre está visible para todos los usuarios y todos los proyectos de Python que cree. En su lugar, utilice paquetes de sitios por usuario con--user
pipenv
está disponible enMac OS
En macOS, Homebrew es la forma recomendada de instalar Python . Puede actualizar Python fácilmente, instalar múltiples versiones de Python y cambiar entre versiones usando Homebrew.
Si está utilizando Python Homebrew'ed,
pip install --user
está deshabilitado. El paquete de sitio global se encuentra eny puede instalar paquetes de Python de forma segura aquí. Python 3.y también busca módulos en:
Ventanas
Por motivos heredados, Python está instalado en
C:\Python37
. El ejecutable de Python generalmente se nombrapy.exe
y puede ejecutarpip
conpy -m pip
.Los paquetes de sitios globales están instalados en
Como no suele compartir sus dispositivos Windows, también está bien instalar un paquete a nivel mundial
pipenv
ahora está disponible enNo recomiendo instalar paquetes de Python en Windows con
--user
, porque el directorio de paquete de sitio de usuario predeterminado está en su perfil móvil de WindowsEl perfil móvil se utiliza en Terminal Services (Escritorio remoto, Citrix, etc.) y cuando inicia o cierra sesión en un entorno corporativo. El inicio de sesión, el cierre de sesión y el reinicio lentos en Windows pueden deberse a un perfil de itinerancia grande.
fuente
La instalación de pipenv globalmente puede tener un efecto adverso al sobrescribir la instalación de pip global / administrada por el sistema, lo que resulta en errores de importación al intentar ejecutar pip.
Puede instalar pipenv a nivel de usuario:
pip install --user pipenv
Esto debería instalar pipenv a nivel de usuario en /home/username/.local para que no entre en conflicto con la versión global de pip. En mi caso, eso todavía no funcionó después de ejecutar el interruptor '--usuario', así que ejecuté el comando más largo 'arreglar lo que arruiné' una vez para restaurar el entorno administrado por el sistema:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
^ encontrado aquí: Error después de actualizar pip: no se puede importar el nombre 'principal'
y luego hizo lo siguiente:
mkdir /home/username/.local
... si aún no existeexport PYTHONUSERBASE=/home/username/.local
Asegúrese de que la exportación haya surtido efecto (mordiéndome una vez durante este proceso):
echo $PYTHONUSERBASE
Luego, ejecuté el
pip install --user pipenv
y todo estuvo bien. Luego pude ejecutar pipenv desde la CLI y no sobrescribió el módulo pip global / administrado por el sistema. Por supuesto, esto es específico para el usuario, por lo que debe asegurarse de instalar pipenv de esta manera mientras trabaja como el usuario que desea usar pipenv.Referencias:
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
fuente
Esto está arreglado para que yo:
fuente
Después de instalar pipenv (
sudo pip install pipenv
), seguía recibiendo el error "Comando no encontrado" al intentar ejecutar elpipenv shell
comando.Finalmente lo arreglé con el siguiente código:
fuente
Podría considerar instalar a
pipenv
través depipsi
.Desafortunadamente, hay algunos problemas con macOS + python3 en el momento de escribir este artículo, consulte 1 , 2 . En mi caso tuve que cambiar bashprompt a
#!/Users/einselbst/.local/venvs/pipsi/bin/python
fuente
En algunos casos de
pip
versión antigua :fuente
Para los usuarios de Windows, esto puede deberse a una instalación en conflicto con virtualenv. Para mí funcionó cuando desinstalé virtualenv y pipenv primero, y luego instalé solo pipenv.
Ahora
pipenv install xxx
funcionó para mifuente
En Mac OS X Catalina, parece seguir la ruta de Linux. Usando cualquiera de:
Básicamente instala pipenv aquí:
Pero no es el ejecutable y nunca se encuentra. Lo único que funcionó para mí fue
Esto parece resultar en un
__init__.py
archivo en el directorio anterior que tiene contenido para exponer correctamente elpipenv
comando.y todo comenzó a funcionar, cuando todas las demás sugerencias publicadas y comentadas sobre esta pregunta fallaron.
El paquete pipenv ciertamente parece bastante delicado.
fuente