- 1 1. Introducción
- 2 2. Cómo verificar la versión de Python
- 3 3. Cómo elegir una herramienta de gestión de versiones de Python
- 3.1 3-1. Tipos de herramientas de gestión de versiones de Python
- 3.2 3-2. pyenv (óptimo para la gestión de versiones de Python)
- 3.3 3-3. venv (cuando se utiliza un entorno virtual)
- 3.4 3-4. Anaconda (orientado a ciencia de datos y aprendizaje automático)
- 3.5 3-5. asdf (herramienta de gestión de versiones compatible con múltiples lenguajes)
- 3.6 3-6. ¿Qué herramienta elegir?
- 3.7 3-7. Resumen
- 4 4. Uso de entornos virtuales
- 5 5. Mejores prácticas para la gestión de versiones y dependencias
- 6 6. FAQ(よくある質問)
1. Introducción
Python es un lenguaje de programación popular utilizado por una amplia gama de usuarios, desde principiantes hasta profesionales. Sin embargo, dado que las versiones de Python se actualizan con frecuencia, muchas personas enfrentan desafíos en el mantenimiento del entorno de desarrollo y la gestión de versiones en diferentes proyectos.
En este artículo, explicamos en detalle la importancia de la gestión de versiones de Python y los métodos para llevarla a cabo. También presentamos cómo seleccionar herramientas de gestión de versiones y ejemplos de su uso práctico, por lo que si desea utilizar Python de manera eficiente, le recomendamos que lo consulte.
1-1. Razones por las que se necesita la gestión de versiones de Python
Para entender por qué es importante la gestión de versiones de Python, consideremos escenarios como los siguientes.
1-1-1. Se necesitan diferentes versiones de Python para cada proyecto
En el desarrollo de sistemas empresariales o proyectos de programación personales, debido a las bibliotecas o frameworks utilizados, a menudo se requiere una versión específica de Python. Por ejemplo:
- Django 2.2 es compatible con Python 3.5-3.8
- TensorFlow 1.x es compatible con Python 2.7 o 3.5
- TensorFlow 2.x requiere Python 3.6 o superior
De esta manera, como la versión de Python recomendada difiere según la herramienta utilizada, si no se gestiona adecuadamente el entorno, existe la posibilidad de que las bibliotecas no funcionen.
1-1-2. Cambiar directamente el Python instalado en el sistema puede causar problemas
En Windows, macOS y Linux, a menudo hay un Python integrado en el sistema instalado. Especialmente en Linux, algunas funciones del SO dependen de Python, por lo que cambiar la versión de Python del sistema puede causar errores inesperados.
Si se sobrescribe la instalación de Python sin usar una herramienta de gestión de versiones, podría afectar el funcionamiento del SO, por lo que es necesario un manejo adecuado.
1-1-3. Unificar el entorno de desarrollo hace que el desarrollo en equipo sea más fluido
En el desarrollo en equipo, es deseable que todos los miembros trabajen en el mismo entorno. Si la versión de Python difiere según el proyecto, el comportamiento puede variar entre desarrolladores, lo que causa errores.
Al utilizar herramientas de gestión de versiones, todos pueden usar un entorno unificado, lo que mejora la eficiencia del desarrollo.
1-2. Métodos para realizar la gestión de versiones de Python
Para realizar la gestión de versiones de Python, hay varios métodos disponibles. Como principales, se utilizan herramientas como las siguientes.
1-2-1. pyenv
La herramienta de gestión de versiones de Python más ampliamente utilizada es «pyenv». Permite cambiar fácilmente entre diferentes versiones de Python y gestionar múltiples versiones sin afectar el Python del sistema.
1-2-2. venv
Es una herramienta de entorno virtual proporcionada como parte de la biblioteca estándar de Python, que permite crear entornos independientes para cada proyecto. Aunque es un poco diferente de la gestión de versiones, es conveniente para crear entornos dependientes de una versión específica de Python.
1-2-3. Anaconda
Es una herramienta para gestionar entornos de Python orientados a la ciencia de datos y el aprendizaje automático, que utiliza el sistema de gestión de paquetes llamado «conda» para manejar las versiones de Python.
1-2-4. asdf
Es una herramienta que permite la gestión de versiones no solo de Python, sino también de Node.js, Ruby y otros lenguajes de programación. Como se puede cambiar la versión de Python por proyecto, es más fácil mantener la consistencia del entorno de desarrollo.
1-3. Resumen
La gestión de versiones de Python es un elemento importante que afecta en gran medida la eficiencia del desarrollo y la estabilidad del sistema. Especialmente para desarrolladores que manejan múltiples proyectos simultáneamente o usuarios que desean probar diferentes versiones de Python, es indispensable usar herramientas de gestión adecuadas.
En la siguiente sección, explicamos en detalle «Cómo verificar la versión de Python». Al comprender qué versión de Python está instalada en su entorno, estará preparado para realizar una gestión de versiones fluida.
2. Cómo verificar la versión de Python
Antes de gestionar las versiones de Python, es importante entender cómo verificar la versión de Python que se está utilizando actualmente. Si no se comprende correctamente la versión, podría ejecutarse en un entorno diferente al esperado, lo que puede causar problemas.
En esta sección, explicaremos cómo verificar la versión de Python en cada sistema operativo: Windows, macOS y Linux.
2-1. Cómo verificar la versión de Python en Windows
En el entorno de Windows, se puede verificar la versión de Python utilizando el Símbolo del sistema (cmd) o PowerShell.
2-1-1. Cómo verificarlo en el Símbolo del sistema
- Presione la tecla [Win] + tecla [R], escriba «cmd» y abra el Símbolo del sistema.
- Ingrese el siguiente comando y presione Enter.
python --version
o
python -V
- La versión actual de Python se mostrará en la pantalla.
Python 3.10.4
2-1-2. Cómo verificarlo en PowerShell
Al utilizar PowerShell para verificarlo, los pasos básicos son los mismos.
- Abra el menú Inicio y busque «PowerShell» para iniciar PowerShell.
- Ingrese el siguiente comando y presione Enter.
python --version
- La versión de Python se mostrará en la pantalla.
Notas:
- Dependiendo de la ubicación de instalación de Python, es posible que necesite usar
python3
en lugar del comandopython
. - Si el comando no se reconoce, verifique si la configuración de las variables de entorno es adecuada.
2-2. Cómo verificar la versión de Python en macOS
En macOS, Python suele estar instalado de forma predeterminada, por lo que se puede verificar la versión utilizando la Terminal.
2-2-1. Cómo verificarlo en la Terminal
- Presione [Command] + [Espacio], escriba «Terminal» y abra la Terminal.
- Ingrese el siguiente comando.
python3 --version
o
python3 -V
- Se mostrará el resultado.
Python 3.9.7
2-2-2. Prestar atención a la diferencia entre Python 2 y Python 3
En macOS, el comando python
puede estar vinculado a Python 2.x. Para usar Python 3.x, generalmente se utiliza el comando python3
.
python --version # Posibilidad de que se muestre Python 2.x
python3 --version # Se mostrará la versión de Python 3.x
Notas:
- En las versiones más recientes de macOS (Big Sur en adelante), Python 2.x está obsoleto y, por defecto, se utiliza Python 3.x en la mayoría de los casos.
2-3. Cómo verificar la versión de Python en Linux
En Linux, Python está preinstalado en muchas distribuciones (Ubuntu, Debian, CentOS, Fedora, etc.). Para verificar la versión, utilice la terminal.
2-3-1. Cómo verificarlo en la terminal
- Abra la terminal y ejecute el siguiente comando.
python3 --version
o
python3 -V
- El resultado de salida será similar al siguiente.
Python 3.8.10
2-3-2. Cómo verificar si Python 2 está instalado
En algunos sistemas antiguos, Python 2.x aún puede estar presente. En ese caso, puede verificarlo con el siguiente comando.
python --version
Si este comando muestra Python 2.x.x
, es posible que Python 2.x sea el predeterminado.
2-3-3. Si Python no está instalado
Si ejecuta python3 --version
y aparece un error como «Command ‘python3’ not found», es posible que Python no esté instalado. En ese caso, puede instalarlo con los siguientes comandos.
Sistemas Ubuntu/Debian:
sudo apt update
sudo apt install python3
Sistemas CentOS/RHEL:
sudo yum install python3
Fedora:
sudo dnf install python3
2-4. Resumen
Los métodos para verificar la versión de Python varían ligeramente según el sistema operativo (Windows, macOS, Linux), pero básicamente se utilizan los comandos python --version
o python3 --version
.
- Windows → En el Símbolo del sistema (cmd) o PowerShell:
python --version
- macOS → En la Terminal:
python3 --version
- Linux → En la Terminal:
python3 --version
; si hay Python 2, también verifiquepython --version
Para gestionar correctamente las versiones, es importante primero comprender correctamente el entorno actual. En la siguiente sección, explicaremos en detalle cómo elegir herramientas de gestión de versiones de Python y sus características.

3. Cómo elegir una herramienta de gestión de versiones de Python
Para gestionar adecuadamente las versiones de Python, lo más eficiente es utilizar herramientas especializadas. Sin embargo, dado que existen diversas herramientas de gestión de versiones, es posible que te sientas confundido sobre cuál elegir.
En esta sección, introduciremos herramientas representativas utilizadas para la gestión de versiones de Python, y explicaremos sus características y usos adecuados.
3-1. Tipos de herramientas de gestión de versiones de Python
Las herramientas de gestión de versiones de Python incluyen los siguientes tipos.
Nombre de la herramienta | Usos principales y características | SO compatibles | Facilidad de uso |
---|---|---|---|
pyenv | Posible cambiar fácilmente entre diferentes versiones de Python | Windows, macOS, Linux | ◎ |
venv | Función estándar de Python para entornos virtuales. Posible crear entornos por proyecto | Todos los SO | ○ |
Anaconda (conda) | Gestión de entornos orientada a ciencia de datos y aprendizaje automático | Windows, macOS, Linux | ○ |
asdf | Posible gestionar versiones de múltiples lenguajes de programación | Windows, macOS, Linux | △ |
Cada herramienta tiene ventajas y desventajas, y es importante seleccionar la adecuada según el uso.
3-2. pyenv (óptimo para la gestión de versiones de Python)
3-2-1. ¿Qué es pyenv?
pyenv
es una herramienta que permite cambiar fácilmente las versiones de Python.
Es conveniente cuando se necesita utilizar diferentes versiones de Python para proyectos o entornos de desarrollo específicos.
3-2-2. Ventajas de pyenv
- Posible coexistir múltiples versiones de Python
- No afecta al Python del sistema
- Posible cambiar la versión con un solo comando
- Disponible en Windows, macOS, Linux
3-2-3. Recomendado para personas como
- Quienes desean usar diferentes versiones de Python por desarrollo
- Quienes desean cambiar fácilmente las versiones
- Quienes no desean cambiar la versión global de Python
3-3. venv (cuando se utiliza un entorno virtual)
3-3-1. ¿Qué es venv?
venv
es la herramienta estándar de Python para crear entornos virtuales. Su propósito no es gestionar las versiones de Python en sí, sino crear entornos independientes por proyecto.
3-3-2. Ventajas de venv
- Integrado de forma estándar en Python, no requiere instalación adicional
- Posible gestionar diferentes bibliotecas por entorno virtual
- Posible separar las dependencias del proyecto
3-3-3. Recomendado para personas como
- Quienes desean separar los entornos de bibliotecas por proyecto
- Quienes desean gestionar entornos sin instalar nuevas herramientas
- Quienes desean aprovechar entornos virtuales en lugar de gestionar versiones de Python
3-4. Anaconda (orientado a ciencia de datos y aprendizaje automático)
3-4-1. ¿Qué es Anaconda?
Anaconda
es una distribución de Python optimizada para el desarrollo en ciencia de datos y aprendizaje automático. Utiliza la herramienta de gestión de paquetes conda
para gestionar versiones de Python y bibliotecas.
3-4-2. Ventajas de Anaconda
- Incluye bibliotecas orientadas a ciencia de datos (numpy, pandas, scikit-learn, etc.)
- Buena compatibilidad con Jupyter Notebook
- Gestión de paquetes sencilla (usando el comando conda)
3-4-3. Recomendado para personas como
- Quienes realizan aprendizaje automático o análisis de datos
- Quienes usan frecuentemente Jupyter Notebook
- Quienes desean configurar fácilmente el entorno de Python
3-5. asdf (herramienta de gestión de versiones compatible con múltiples lenguajes)
3-5-1. ¿Qué es asdf?
asdf
es una herramienta para gestionar de forma unificada las versiones no solo de Python, sino también de Node.js, Ruby, Go y otros lenguajes de programación.
3-5-2. Ventajas de asdf
- Posible gestionar lenguajes distintos a Python de forma unificada
- Posible configurar diferentes versiones por proyecto
- Posible cambiar Python sin afectar el entorno global
3-5-3. Recomendado para personas como
- Quienes usan lenguajes de programación distintos a Python
- Quienes desean cambiar flexiblemente las versiones por proyecto
- Quienes desean gestionar eficientemente múltiples entornos de desarrollo
3-6. ¿Qué herramienta elegir?
Seleccionando según los siguientes criterios, podrás encontrar la herramienta de gestión de versiones más adecuada para ti.
Propósito y uso | Herramienta óptima |
---|---|
Desea cambiar fácilmente entre diferentes versiones de Python | pyenv |
Desea usar entornos virtuales | venv |
Desea realizar aprendizaje automático o análisis de datos | Anaconda |
Desea gestionar de forma unificada lenguajes distintos a Python | asdf |
3-7. Resumen
Las herramientas de gestión de versiones de Python tienen características diferentes. La elección de qué herramienta usar depende de «¿para qué usos se utiliza Python?».
- Gestión de versiones general → pyenv
- Aprovechar entornos virtuales → venv
- Ciencia de datos y aprendizaje automático → Anaconda
- Gestionar lenguajes distintos a Python → asdf
En la siguiente sección, explicaremos en detalle el «aprovechamiento de entornos virtuales». Introduciremos métodos para gestionar adecuadamente las dependencias diferentes por proyecto y mantener la integridad del entorno utilizando entornos virtuales.
4. Uso de entornos virtuales
Para gestionar adecuadamente las versiones de Python, es esencial utilizar entornos virtuales (Virtual Environment). Al usar entornos virtuales, se puede construir un entorno independiente para cada proyecto, permitiendo la coexistencia de diferentes bibliotecas y versiones de Python.
En esta sección, se explica en detalle el concepto básico de los entornos virtuales y cómo usar las principales herramientas (venv
, Poetry
).
4-1. ¿Qué es un entorno virtual?
Un entorno virtual es un mecanismo para separar el entorno de ejecución de Python por proyecto. Normalmente, los paquetes (bibliotecas) de Python se instalan en todo el sistema, pero al utilizar un entorno virtual, se pueden gestionar paquetes diferentes para cada proyecto.
4-1-1. Ventajas de usar entornos virtuales
- Se pueden evitar conflictos de bibliotecas entre proyectos diferentes
- Por ejemplo, si el proyecto A usa Django 3.2 y el proyecto B usa Django 4.0, con un entorno virtual es posible la coexistencia.
- Se puede desarrollar sin ensuciar el entorno de Python del sistema
- Se puede mantener un entorno limpio sin afectar el Python del sistema.
- En el desarrollo en equipo, es fácil unificar el entorno
- Al utilizar entornos virtuales y compartir
requirements.txt
opyproject.toml
, todos los miembros del equipo pueden construir el mismo entorno.
4-2. Creación de entornos virtuales con venv
Python incluye de forma estándar la herramienta venv
para crear entornos virtuales. No es necesario instalar nada adicional y se puede empezar a usar inmediatamente.
4-2-1. Método para crear un entorno virtual
- Crear un directorio para el proyecto
mkdir my_project
cd my_project
- Crear el entorno virtual
python3 -m venv venv
Aquí, venv
es el nombre de la carpeta del entorno virtual. Se puede especificar cualquier nombre.
4-2-2. Activación del entorno virtual
Al activar el entorno virtual, se puede usar el Python y las bibliotecas específicas de ese entorno.
En Windows:
venv/Scripts/activate
En macOS/Linux:
source venv/bin/activate
Al activarlo, se muestra (venv)
en el prompt.
(venv) user@hostname:~/my_project$
4-2-3. Desactivación del entorno virtual
Para finalizar el entorno virtual, ejecutar el siguiente comando.
deactivate
4-2-4. Eliminación del entorno virtual
Para eliminar un entorno virtual que ya no se necesita, simplemente eliminar la carpeta completa.
En macOS/Linux:
rm -rf venv
En Windows:
rd /s /q venv
4-3. Gestión de entornos virtuales y dependencias con Poetry
Además de la biblioteca estándar de Python venv
, Poetry
es popular como herramienta para una gestión de paquetes más avanzada.
4-3-1. ¿Qué es Poetry?
Poetry es una herramienta que gestiona de forma integral la gestión de dependencias y la creación de entornos virtuales de proyectos Python. Es más flexible que venv
y es adecuada para el desarrollo moderno de Python.
4-3-2. Instalación de Poetry
Para instalar Poetry, ejecutar el siguiente comando.
curl -sSL https://install.python-poetry.org | python3 -
Después de la instalación, se puede verificar con el siguiente comando.
poetry --version
4-3-3. Creación de entornos virtuales con Poetry
Los pasos para crear un nuevo proyecto con Poetry y configurar el entorno virtual son los siguientes.
- Crear la carpeta del proyecto
mkdir poetry_project
cd poetry_project
- Inicializar el proyecto con Poetry
poetry init
- Ingresar la información del proyecto de forma interactiva.
- Se crea un archivo de configuración llamado
pyproject.toml
.
- Crear el entorno virtual
poetry install
De esta forma, se crea automáticamente el entorno virtual y se instalan los paquetes necesarios.
- Activar el entorno virtual
poetry shell
- Agregar y gestionar paquetes
poetry add requests
poetry add numpy@latest
- Desactivar el entorno virtual
exit
4-4. Comparación entre venv
y Poetry
Características | venv | Poetry |
---|---|---|
Herramienta estándar de Python | ✅ | ❌ (requiere instalación adicional) |
Creación de entornos virtuales | ✅ | ✅ |
Gestión de dependencias | ❌ (gestión manual) | ✅ (gestión automática) |
Gestión de paquetes | pip se usa | poetry add comando para gestión sencilla |
Para principiantes | ✅ | △ (hay algo de costo de aprendizaje) |
Conclusión:
- Si se quiere usar entornos virtuales de forma simple →
venv
- Si se quiere automatizar la gestión de dependencias →
Poetry
4-5. Resumen
Al utilizar entornos virtuales, la gestión de bibliotecas de Python se puede realizar de manera eficiente. Especialmente, cuando se manejan bibliotecas diferentes por proyecto o no se quiere ensuciar el entorno de Python del sistema, lo mejor es utilizar venv
o Poetry
.
- venv → Creación simple de entornos virtuales (estándar de Python)
- Poetry → Herramienta avanzada de entornos virtuales que incluye gestión de dependencias
En la siguiente sección, se explica en detalle las mejores prácticas para la gestión de versiones y dependencias. Aprendamos los puntos clave para operar el entorno de desarrollo de Python de manera más eficiente.
5. Mejores prácticas para la gestión de versiones y dependencias
Una vez comprendida la gestión de versiones de Python y el uso de entornos virtuales, presentamos mejores prácticas útiles en el entorno de desarrollo real. Al implementar métodos de gestión adecuados, se puede prevenir la confusión en el entorno y operar proyectos de Python de manera eficiente.
5-1. Crear un entorno virtual para cada proyecto
Para gestionar adecuadamente las versiones de Python, lo básico es crear un entorno virtual para cada proyecto.
Si se usa Python del sistema tal cual, es fácil que ocurran conflictos de bibliotecas o contaminación del entorno.
5-1-1. Métodos recomendados para la gestión de entornos virtuales
- Crear un entorno virtual para cada proyecto
python3 -m venv venv
- Activar el entorno virtual
source venv/bin/activate # macOS/Linux
venvScriptsctivate # Windows
- Instalar las bibliotecas
pip install requests pandas
✅ Puntos:
- Al crear un entorno virtual, no interferirá con las bibliotecas de otros proyectos.
- En el desarrollo en equipo, es más fácil reproducir un entorno consistente.
5-2. Clarificación y gestión de dependencias
Al compartir un proyecto o para reconstruir el entorno en el futuro, es importante gestionar explícitamente las dependencias (la lista de bibliotecas instaladas).
5-2-1. Utilizar requirements.txt
En Python, con el comando pip freeze
se puede guardar la lista de bibliotecas instaladas actualmente en requirements.txt
.
- Registrar las bibliotecas del entorno actual
pip freeze > requirements.txt
- Reinstalar las mismas bibliotecas en otro entorno
pip install -r requirements.txt
✅ Ventajas:
- Se puede compartir fácilmente el mismo entorno con los miembros del equipo.
- En un nuevo entorno, se puede reproducir rápidamente una configuración consistente de bibliotecas.
5-2-2. Utilizar pyproject.toml
(en el caso de Poetry)
Si se usa Poetry, se recomienda especificar las dependencias en pyproject.toml
.
- Agregar un paquete
poetry add numpy pandas
- Verificar el archivo de dependencias
pyproject.toml
poetry.lock
✅ Ventajas:
- Se pueden gestionar las dependencias de manera más concisa que con
pip freeze
. - Es fácil fijar versiones, lo que mejora la reproducibilidad del entorno.
5-3. Gestionar por separado el entorno de desarrollo y el de producción
En el entorno de desarrollo y el de producción, las versiones de las bibliotecas utilizadas o la configuración pueden diferir. Por lo tanto, lo mejor es gestionar claramente las bibliotecas exclusivas para desarrollo y las necesarias para el entorno de producción.
5-3-1. Preparar requirements-dev.txt
Si se separan las bibliotecas necesarias solo para el entorno de desarrollo (por ejemplo, pytest
o herramientas de prueba y formateo como black
), se puede mantener el entorno de producción simple.
Ejemplo:
pip freeze > requirements-dev.txt
En el entorno de producción, usar solo el básico requirements.txt
, y en el de desarrollo combinarlo con requirements-dev.txt
facilita la gestión.
5-4. Unificación del entorno en el desarrollo en equipo
En el desarrollo en equipo, es importante unificar el entorno de cada miembro.
Presentamos puntos para gestionar adecuadamente las versiones y avanzar el proyecto de manera fluida.
5-4-1. Unificar la versión de Python
- Utilizar
pyenv
para que el equipo use una versión unificada de Python. - Crear un archivo
.python-version
en la raíz del proyecto para fijar la versión de Python.
Ejemplo:
echo "3.10.4" > .python-version
5-4-2. Utilizar .venv
Si el equipo usa venv
, crear el entorno virtual no en el directorio venv
sino en una carpeta oculta llamada .venv
facilita la gestión con Git.
Ejemplo:
python3 -m venv .venv
Y agregar .gitignore
a .venv/
para que la carpeta del entorno virtual no se incluya en el repositorio es una mejor práctica.
5-5. Problemas comunes y soluciones
5-5-1. El Python instalado con pyenv
no se reconoce
Solución: Ejecutar pyenv init
para aplicarlo al shell.
pyenv init
Además, configurar adecuadamente la variable de entorno PATH
.
5-5-2. El entorno virtual venv
no se activa
Solución: En Windows, es necesario cambiar la directiva de ejecución de PowerShell.
Set-ExecutionPolicy Unrestricted -Scope Process
5-5-3. No se puede importar después de pip install
Solución: Verificar si el entorno virtual está activado.
which python
which pip
Si el resultado de la salida no es la ruta del entorno virtual, activar el entorno virtual con source venv/bin/activate
.
5-6. Resumen
Al gestionar adecuadamente las versiones de Python y las dependencias, se mejora la eficiencia del desarrollo y se minimizan los problemas del entorno.
✅ Puntos de las mejores prácticas
- Crear un entorno virtual para cada proyecto
- Gestionar las dependencias con
requirements.txt
opyproject.toml
- Gestionar por separado el entorno de desarrollo y el de producción
- En el desarrollo en equipo, unificar la versión de Python y eliminar las diferencias en el entorno
6. FAQ(よくある質問)
Pythonのバージョン管理や仮想環境の活用については、初めて導入する人や経験者でも疑問に思うことが多い分野です。このセクションでは、よくある質問をピックアップし、具体的な回答を提供します。
6-1. 複数のPythonバージョンを同時に使用できますか?
はい、可能です。
pyenv
や asdf
を利用すれば、異なるPythonバージョンをシステム内に共存させ、プロジェクトごとに適切なバージョンを使用できます。
解決策: pyenv を使う場合
- Pythonの異なるバージョンをインストール
pyenv install 3.9.7
pyenv install 3.10.4
- グローバルまたはローカル(プロジェクトごと)でバージョンを指定
pyenv global 3.10.4 # システム全体でデフォルトのPythonを設定
pyenv local 3.9.7 # 特定のプロジェクトフォルダ内でPython 3.9.7を使用
✅ ポイント: pyenv
を使えば、システムのPythonを変更せずに複数バージョンを管理できます。
6-2. 仮想環境を削除する方法は?
仮想環境は、単純にディレクトリごと削除すればOKです。
venv を使用している場合
rm -rf venv # macOS/Linux
rd /s /q venv # Windows
Poetry の仮想環境を削除する場合
poetry env remove python
✅ ポイント: 仮想環境を削除しても、requirements.txt
や pyproject.toml
があれば、再作成が容易です。
6-3. 特定のプロジェクトで異なるPythonバージョンを使用するには?
pyenv
または venv
を使うのが一般的な方法です。
pyenv の場合
- プロジェクトフォルダ内でPythonのバージョンを指定
pyenv local 3.8.10
- 確認
python --version
Python 3.8.10
venv の場合
- プロジェクトごとに異なるPythonバージョンの仮想環境を作成
python3.8 -m venv venv38
python3.10 -m venv venv310
- 使用する環境を有効化
source venv38/bin/activate # Python 3.8 の環境
✅ ポイント: pyenv
はバージョンの切り替えに最適で、venv
はプロジェクトごとの環境管理に適しています。
6-4. バージョン管理ツールの選択基準は?
条件 | 推奨ツール |
---|---|
複数のPythonバージョンを管理したい | pyenv |
シンプルな仮想環境を作りたい | venv |
データサイエンス・機械学習用に環境を整えたい | Anaconda |
Python以外の言語もバージョン管理したい | asdf |
✅ ポイント: 目的に応じたツールを選ぶことで、環境管理がより簡単になります。
6-5. pyenv
を使っているのに python --version
で変更が反映されない
この問題は、シェルの設定が適切に行われていない可能性があります。
解決策
pyenv
の初期化コマンドを実行
pyenv init
.bashrc
または.zshrc
に以下の行を追加(~/.bash_profile
も可)
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
- 設定を反映
source ~/.bashrc # or source ~/.zshrc
✅ ポイント: pyenv
の設定がシェルに適用されていることを確認しましょう。
6-6. venv
と Poetry
はどちらを使うべき?
項目 | venv | Poetry |
---|---|---|
Python標準ツール | ✅ | ❌(別途インストールが必要) |
仮想環境の作成 | ✅ | ✅ |
依存関係管理 | ❌(手動で管理) | ✅(自動管理) |
初心者向け | ✅ | △(若干の学習コストあり) |
結論:
- シンプルな仮想環境が必要なら
venv
- 依存関係を自動管理したいなら
Poetry
✅ ポイント: Poetry
はやや学習コストがあるが、長期的には便利なツール。
6-7. pip install
したライブラリをプロジェクトに固定するには?
pip freeze
を使用して requirements.txt
を作成します。
pip freeze > requirements.txt
そして、別の環境でインストールするには以下のコマンドを使用します。
pip install -r requirements.txt
✅ ポイント: pip freeze
を活用すると、環境の再現性を確保できます。
6-8. まとめ
Pythonのバージョン管理や仮想環境について、よくある疑問を解決しました。
✅ ポイントを整理
- 複数バージョンのPythonを管理するなら
pyenv
- プロジェクトごとに仮想環境を使うなら
venv
やPoetry
- 依存関係を明確にするには
requirements.txt
やpyproject.toml
を活用 - Windowsでは
pyenv-win
を利用し、環境変数の設定を確認
これでPythonのバージョン管理に関する理解が深まり、スムーズに開発環境を整えられるようになるでしょう。