Problemas frecuentes encontrados con Pipenv¶
Pipenv esta siendo mejorado constantemente por voluntarios, pero sigue siendo un proyecto muy nuevo con recursos limitados, y tiene algunas peculiaridades que se necesitan tratar. Necesitamos la ayuda de todos(¡incluso la tuya!).
Aquí hay algunas preguntas comunes de gente usando Pipenv. Por favor échale un vistazo y mira si resuelve tu problema.
Nota
Asegúrate primero de estar ejecutando la versión más reciente de Pipenv
☤ Tus dependencias no pudieron ser resueltas¶
Asegúrate de que tus dependencias realmente resuelven. Si estas seguro de ello, tal vez necesites limpiar cache. Ejecuta el siguiente comando:
pipenv run pipenv-resolver --clear
e intenta de nuevo.
Si esto no funciona, intenta borrar toda la carpeta cache manualmente. Suele estar ubicado en una de estas rutas:
~/Library/Caches/pipenv
(macOS)%LOCALAPPDATA%\pipenv\pipenv\Cache
(Windows)~/.cache/pipenv
(other operating systems)
Pipenv no instala prelanzamientos (e.j. una versión con el sufijo alpha/beta/etc.
como 10b1) por defecto. Necesitarás pasar la bandera --pre
en tu comando
o setear
[pipenv]
allow_prereleases = true
en tu Pipfile.
☤ No module named <module name>¶
Esto generalmente es el resultado de usar Pipenv con otros paquetes de sistema. Nosotros fuertemente recomendamos instalar Pipenv en un entorno aislado. Desinstalar todas las instalaciones existentes de Pipenv y mirar ☤ Instalación de Pipenv con Homebrew para escoger una de las maneras recomendadas de instalar Pipenv
☤ Mi Python instalado con pyenv no es encontrado¶
Asegúrate de tener PYENV_ROOT
seteado correctamente. Pipenv solo soporta
distribuciones CPython, con nombre de versiones como 3.6.4
o similares.
☤ Pipenv no respeta las versiones locales y globales de pyenv¶
Pipenv por defecto usa la versión de Python con la que fue instalada para
crear el entorno virtual. Puedes setear la opción --python
o
$PYENV_ROOT/shims/python
para dejar que pyenv consulte cuando escoger el
interprete. Mira ☤ Especifica la versión de un parquete para más información
Si quieres a Pipenv para automáticamente «haga lo correcto», puedes setear la
variable de entorno PIPENV_PYTHON
a $PYENV_ROOT/shims/python
. Esto
hará que Pipenv use la versión activa de Python de pyenv para crear el
entorno virtual por defecto.
☤ ValueError: unknown locale: UTF-8¶
macOS tiene un bug en su detección de localización que nos impide detectar tu codificación de shell correctamente. Esto también puede ser un problema en otros sistemas si la variable local no especifica una codificación.
La solución es setear las siguientes dos variables de entorno en un formato estándar de localización:
LC_ALL
LANG
Para Bash, por ejemplo, puedes agregar lo siguiente en tu ~/.bash_profile
:
export LC_ALL='en_US.UTF-8'
export LANG='en_US.UTF-8'
Para Zsh, el archivo a editar es ~/.zshrc
.
Nota
Puedes cambiar ambos en_US
y UTF-8
al lenguaje/region
y codificación que uses.
☤ /bin/pip: No such file or directory¶
Esto puede estar relacionado a tu configuración local. Mira ☤ ValueError: unknown locale: UTF-8 para una posible solución.
☤ shell
does not show the virtualenv’s name in prompt¶
Esto es intencional. Puedes hacerlo por ti mismo con cualquier plugins de shell,
o una configuración inteligente PS1
. Si lo quieres de vuelta, usa
pipenv shell -c
en su lugar (no disponible en Windows).
☤ Pipenv no respeta las dependencias en setup.py¶
No, no lo hace, intencionalmente. Pipfile y setup.py sirven propósitos diferentes, y no debes considerar uno u otro por defecto. Mira ☤ Pipfile vs setup.py para más información.
☤ Usando pipenv run
en el programa Supervisor¶
Cuando configuras un programa supervisor command
con pipenv run ...
,
necesitas setear una variable de entorno local adecuada para que funcione.
Agrega esta linea debajo de la sección [supervisord]
en /etc/supervisor/supervisord.conf
:
[supervisord]
environment=LC_ALL='en_US.UTF-8',LANG='en_US.UTF-8'