Más de 20 comandos esenciales de Python que debe conocer
Publicado: 2022-08-03Python es actualmente uno de los lenguajes de programación más populares que existen. Es un lenguaje poderoso pero simple que se puede usar en casi cualquier entorno de desarrollo.
Una encuesta de Stack Overflow de 2021 revela que Python es el lenguaje de programación con el que la mayoría de los desarrolladores quieren trabajar.
Gracias a herramientas como Jupyter Notebook, Google Colaboratory y compiladores en línea, puedes iniciarte en este lenguaje sin tener que preocuparte por instalar nada.
Sin embargo, si desea ir más allá y disfrutar del verdadero poder de un lenguaje de propósito general como Python (especialmente mediante la creación de aplicaciones complejas), tarde o temprano deberá aprender a usar la CLI o la interfaz de línea de comandos.
La mayoría de los desarrolladores están de acuerdo en que una de las partes más intimidantes de aprender Python es la CLI. Pero con solo unos pocos comandos en su haber, lo dominará en poco tiempo.
En este artículo, aprenderá los comandos más útiles para el desarrollo de Python.
¿Qué es la interfaz de línea de comandos?
La interfaz de línea de comandos, a menudo abreviada como CLI, es un programa basado en texto que se utiliza para ejecutar programas y realizar tareas relacionadas con el sistema operativo (SO), como crear y administrar archivos.
Las CLI aceptan entradas del teclado en forma de comandos y las pasan a un shell o intérprete de comandos. Estos shells interpretan los comandos dados por el usuario, los ejecutan y devuelven un resultado que a menudo se denomina salida.
Una CLI puede ejecutar diferentes shells. Esta captura de pantalla muestra dos CLI diferentes, una con el shell de Python y otra con Bash:
Estos dos conceptos a menudo se confunden, así que aquí está el desglose:
- CLI es la interfaz basada en texto en la que escribe comandos y obtiene el resultado de esos comandos. Puede ejecutar diferentes shells.
- Un shell es un intérprete de comandos capaz de interactuar con el sistema operativo.
Lo crea o no, cada programa que ejecuta su sistema implica un comando. Las ventanas (GUI) con las que interactúa todos los días están compuestas de enlaces que activan comandos que le permiten interactuar con el sistema operativo.
¿Necesita la CLI en el desarrollo de Python?
Para ser un desarrollador full-stack eficaz, deberá tener un conocimiento sólido de la línea de comandos. Esto se debe a que la mayoría de los marcos de back-end requieren algún tipo de interacción con una CLI directamente, y si planea implementar una aplicación usted mismo, la línea de comando será su mejor amigo.
Hoy en día, puede ejecutar Python desde innumerables servicios en línea, así como IDE que facilitan mucho la ejecución de sus programas. Pero si te gusta el desarrollo web, especialmente el backend, la automatización de tareas, la cadena de bloques, el uso de una computadora remota a través de SSH o la administración de herramientas compatibles con Python como Docker, definitivamente necesitarás manejar la CLI.
De hecho, Python tiene muchas bibliotecas para crear aplicaciones CLI como Typer, Argsparse y Click. ¡Puede pasar de ser solo un usuario de CLI a ser un creador de sus propias aplicaciones de CLI! Esto muestra la fuerte conexión entre los entornos CLI y Python.
Una vez que haya dominado la CLI, será mucho más fácil ejecutar sus tareas como programador de Python y verá una ventaja al usar otros lenguajes de programación como PHP, C, C++ o Java.
Introducción a la CLI
Según el sistema operativo que esté ejecutando, encontrará diferencias en la forma en que utiliza la línea de comandos. Cada sistema operativo tiene su propia forma de abrir e interactuar con una CLI debido a sus diferentes estructuras de organización de archivos y shells de comandos predeterminados.
Echemos un vistazo a los tres sistemas operativos más utilizados por los desarrolladores: Windows, Mac y Linux.
ventanas
Windows es el sistema operativo de escritorio más popular, principalmente debido a su precio y facilidad de uso. Si desea acceder a la CLI en Windows, debe abrir el programa "Símbolo del sistema" o "Windows Powershell".
Recuerde que Windows usa \
para rutas en lugar de /
. Debe tener esto en cuenta cuando navegue por los directorios.
También en Windows tienes la alternativa de instalar Git Bash, una línea de comandos que emula el comportamiento del shell Bash en Windows. Esto haría que la mayoría de los comandos de Unix que se muestran a continuación sean compatibles con su sistema.
Mac
En cuanto a Mac, se puede acceder a la línea de comandos desde una aplicación integrada llamada "Terminal". Puede buscarlo con el Launchpad o encontrarlo en la carpeta "Utilidades" en "aplicaciones".
linux
En Linux, tiene muchas opciones diferentes según la distribución que use, pero el comando "Ctrl + Alt + T" generalmente activa el terminal predeterminado en su sistema.
Ahora, debería tener una ventana similar a la que se muestra a continuación:
Más de 20 comandos CLI más útiles para el desarrollo de Python
Una vez que haya abierto su CLI, es hora de sumergirse en los comandos de shell superiores que harán que su vida como desarrollador de Python sea mucho más fácil.
Comandos de instalación
Probablemente te hayas topado con un millón de formas de instalar Python. Pero a veces, es mucho más conveniente hacerlo con solo un comando.
Estos son los diferentes comandos que lo ayudarán a instalar Python en diferentes sistemas operativos.
1. Chocolatoso
En Windows, no tiene un administrador de paquetes por defecto. Una opción para superar esto es Chocolatey, que le brinda programas para instalar directamente desde la línea de comandos, obviamente incluido Python.
Asegúrate de instalar Chocolatey antes de ejecutar el siguiente comando:
choco install python --pre
2. Cerveza casera y Pyenv
macOS viene con Python 2.7 instalado de forma predeterminada. Sin embargo, Python 2.7 ahora está obsoleto. Toda la comunidad ha cambiado a Python 3. Para administrar sus versiones de Python de manera eficiente, puede usar un programa como pyenv.
Abra una línea de comando e instale la última versión de Homebrew (un administrador de paquetes como Chocolatey) con el siguiente comando:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Luego puede instalar pyenv con este simple comando:
brew install pyenv
Puede instalar una versión específica de Python y configurarla como el ejecutable global de Python en lugar de Python 2:
pyenv install 3.10 # Version you want pyenv global 3.10.4 # Sets that version as default
Ahora, si llama a Python, será la versión que configuró con pyenv:
python # Python 3.10.4 .... # >>>
3. apto, pacman y dnf
Con el uso extensivo de Python para software de código abierto, una gran cantidad de distribuciones de Linux vienen con Python preinstalado. Si su sistema no lo hace, puede instalar Python con un administrador de paquetes en su lugar.
En las distribuciones basadas en Debian (Ubuntu, Linux Mint, Kali Linux), usará apt, que significa "herramienta de paquete avanzada":
sudo apt update sudo apt install python3
Además, si desea configurar Python 3 como su intérprete de Python predeterminado, puede usar el siguiente comando:
sudo apt install python-is-python3
En las distribuciones basadas en Arch, puede usar el administrador de paquetes oficial pacman:
sudo pacman -S python
En las distribuciones de Linux basadas en Fedora y RPM (Red Hat, CentOS), usa dnf:
sudo dnf install python3
Comandos de intérprete
Repasemos rápidamente las banderas principales (opciones de la línea de comandos) del comando de Python y su administrador de paquetes, pip.
4. pitón
El comando python
tiene varias banderas, es decir, opciones que modifican el comportamiento de la ejecución del código.
En primer lugar, para ejecutar un archivo de Python, simplemente llame al intérprete y agregue el nombre del archivo, incluida la extensión .py
:
python helloworld.py
Si necesita recordar qué hace una bandera, puede usar la bandera de help
en cualquiera de estas 3 presentaciones:
python -? python -h python --help
Para imprimir (ver) la versión de Python que está ejecutando, use lo siguiente:
python -V python --version
Si desea ejecutar el código de Python sin abrir y editar un archivo .py
, puede ejecutarlo directamente desde su terminal con el indicador de comando:
# Hello, World! python -c "print('Hello, World!')"
La bandera m
ejecuta un módulo de Python como un script. Esto es realmente útil cuando desea crear un entorno virtual con el módulo venv incorporado :
python -m venv .venv
5. pipa
El comando pip busca paquetes en el índice de paquetes de Python (PyPI), resuelve las dependencias e instala la versión del paquete que ha indicado.
Para instalar un paquete de Python, simplemente escriba pip
y el nombre del paquete que desea instalar.
El siguiente comando instalará la última versión del paquete:
pip install django
Si desea una versión específica, ejecute el siguiente comando:
# pip install package==version pip install django==4.0.4
Al trabajar en proyectos colaborativos, debe realizar un seguimiento de las dependencias, generalmente con un archivo de requisitos. Con la bandera r
, puede leer e instalar paquetes desde un archivo de texto:
pip install -r requirements.txt
Otra característica de uso común es la bandera de freeze
. Se utiliza para generar una lista de las versiones de paquetes que ha instalado en su entorno. Puede usarlo para enviar sus dependencias a un archivo de requisitos:
pip freeze >> requirements.txt
Comandos de permisos
Python es realmente bueno en secuencias de comandos y manejo de archivos. Para trabajar con estas tareas, debe tener algún conocimiento de cómo funcionan los permisos en su sistema operativo.
6. sudo, runa
En los sistemas basados en Unix (macOS, Linux, BSD), debe tener permisos de superusuario para realizar ciertas tareas, como instalar un programa, como hicimos anteriormente.
El comando sudo le permite obtener brevemente permisos de administrador para ejecutar uno de estos comandos.
A continuación se muestra un ejemplo de instalación de ueberzug (un paquete Python de vista previa de imagen) globalmente:
sudo pip install ueberzug
El equivalente de Windows es Runas, que ejecuta un script como un usuario diferente o como administrador:
runas /noprofile /user:Administrator cmd
También hay otros proyectos como Gsudo, que hace que el proceso de elevación de permisos sea mucho más fácil que con otros comandos integrados de Windows:
:: Installs gsudo choco install gsudo :: Reads a file named MySecretFile.txt gsudo type MySecretFile.txt
7. chmod
chmod
se usa para cambiar los permisos de archivos y directorios en Unix.
Un uso común es hacer que un script de Python sea ejecutable:
# Makes mypythonscript.py executablechmod +x mypythonscript.py
Una vez que haya hecho un script ejecutable, puede ejecutarlo directamente usando la notación ./
:
# Runs the script ./mypythonscript.py
Comandos de navegación
Navegar por el sistema de archivos en una interfaz de línea de comandos es una tarea cotidiana para los desarrolladores de Python. Aquí hay algunos comandos esenciales que se usan para navegar por su sistema al programar con Python.
8. ls, directorio
Para enumerar el contenido de un directorio (carpeta), debe usar el ls
(Unix) o dir
(Windows). Este fue probablemente el primer comando que aprendió cuando se encontró por primera vez con la CLI.
Aquí está la sintaxis utilizada:
ls # Shows the contents of the working directory ls mydirectory
Y aquí hay un ejemplo del contenido de una carpeta en un sistema de archivos local:
ls test_python/ # classes_error.py radius.py test-Django
Este comando tiene muchas banderas útiles. De hecho, a menudo tiene el alias de ls -al
para ver los archivos ocultos (los que tienen un punto al principio) y el modo, el tamaño y la fecha de cada archivo:
alias ls="ls -al" # Results total 20 drwx------ 3 daniel daniel 4096 ene 16 19:13 . drwxr-xr-x 36 daniel daniel 4096 may 17 22:18 .. -rw------- 1 daniel daniel 32 nov 17 2020 classes_error.py -rw------- 1 daniel daniel 327 nov 10 2020 radius.py drwx------ 4 daniel daniel 4096 ene 16 01:07 test-Django
En cuanto a Windows, puede usar ls
usando Git Bash, o puede usar el comando dir
incorporado:
dir
9. personas con discapacidad
pwd
significa "directorio de trabajo de impresión" y hace exactamente eso: le brinda la ruta completa del directorio en el que se encuentra:
pwd # /home/daniel/github/HTML-site/images
Si alguna vez te has perdido en tu terminal, este comando es un salvavidas.
Puede lograr el mismo resultado en Windows usando el comando cd
sin parámetros (tenga en cuenta que el mismo comando en Unix lo llevaría al directorio de inicio):
# Only on Windows cd # D:\Folder\subFolder
10. cp
Copiar archivos con un administrador de archivos gráfico es intuitivo, pero ineficiente. Con este comando, puede copiar cualquier tipo de archivo en su sistema:
cp old_file.txt copy_old_file.txt
Para copiar todo el contenido de un directorio, debe usar cp -r
:
cp -r originaldirectory/ newdir
El equivalente de cp
en Windows es copy
:
copy old_file.txt copy_old_file.txt /a
11. gato, tipo
Para imprimir el contenido de un archivo de texto en la terminal sin abrir el archivo con un editor, puede usar cat
, more
o less
en Unix y type
en Windows:
cat old_file.txt # Unix type old_file.txt # Windows # Content Hi there I hope you're enjoying the article ... as much as I've enjoyed writing it! End of the sample.
12. mv, mover
El comando mv
mueve archivos y directorios de un directorio a otro, básicamente cortar y pegar, o cambia el nombre de un archivo si el destino no existe:
# Rename files mv source_file.txt renamed_file.txt
# File to another directory mv renamed_file.txt newdir/
También puede utilizar la coincidencia de patrones para mover archivos. Por ejemplo, mueva todos los archivos .py
a otra carpeta:
mv *.py mypythondir/
Un comando equivalente en Windows es move
, que tiene casi la misma funcionalidad que el anterior:
# Windows move source_file.txt renamed_file.txt
13. rm, del
Puede usar el comando rm
para eliminar archivos y directorios.
Para eliminar un archivo, no un directorio, usaría:
rm file_to_remove.txt
Si desea eliminar un directorio vacío, puede usar el indicador recursivo ( -r
):
rm -r dir_to_remove/
Para eliminar un directorio con contenido dentro, usaría la fuerza ( -f
) y las banderas recursivas:
rm -rf dir_with_content/
De forma similar, encuentra del
en Windows. Sea aún más cauteloso ya que este comando no tiene las banderas de prevención que se ven arriba:
del \mywindowsdir
14. salir
Una vez que haya terminado con su programación de Python, debería poder salir de su sesión de shell. En la mayoría de los casos, esto también cerraría la terminal que está utilizando:
exit
Tenga en cuenta que este comando funciona tanto en Windows como en Unix.
Editores de línea de comandos
Una vez que te acostumbres a la línea de comandos, verás que es más lento cambiar de ventana o incluso usar el mouse para editar tu código.
¡Tener la capacidad de codificar mientras estás en la línea de comandos no solo es una excelente manera de ahorrar tiempo, sino que también te hará ver como un superhéroe entre tus compañeros de equipo!
Estos son algunos de los editores de línea de comandos más utilizados.
15. Vim/Neovim
Vim y su descendiente, Neovim, son editores de texto basados en teclado que se utilizan principalmente en la línea de comandos. Según una encuesta de desbordamiento de pila de 2021, ocupan el cuarto y primer lugar entre los editores más queridos por los desarrolladores.
Vim está preinstalado en Linux y macOS. De hecho, es el editor con el que más te encontrarás cuando interactúes con servidores. En Windows, deberá instalarlo utilizando el instalador ejecutable de la página de Vim.
Ahora, puede disfrutar del poder de Vim simplemente escribiendo su nombre en la línea de comando:
vim
Esto activará una interfaz basada en texto con múltiples combinaciones de teclado para cada acción que pueda necesitar al codificar en Python.
Vim tiene una curva de aprendizaje empinada, pero una vez que lo domine, no cambiará pronto a otra cosa.
16. Nano
Nano es otro editor de texto de línea de comandos que se usa principalmente para ediciones rápidas.
Digamos que ha introducido un error de sintaxis en su código pero no quiere abrir su editor para corregirlo. Nano lo ayuda a solucionarlo directamente desde su CLI:
nano
17. Emac
Emacs es uno de los editores de texto más extensibles y personalizables que puede encontrar. Tiene una sección completa dedicada a la programación de Python donde encontrará toneladas de complementos para mejorar su experiencia de desarrollo.
Emacs está disponible en casi todos los sistemas operativos, por lo que si aún no lo tiene instalado, consulte las instrucciones de descarga.
Para abrir Emacs desde el tipo de línea de comando, use el indicador de sistema sin ventana ( -nw
):
emacs -nw
Herramientas de desarrollo
El desarrollo de Python implica no solo la codificación, sino también el manejo de herramientas adicionales, como entornos virtuales, sistemas de control de versiones y herramientas de implementación.
Al aprender los comandos a continuación, obtendrá una ventaja al desarrollar cualquier tipo de aplicación con Python.
18. virtualenv/venv
Los entornos virtuales son una técnica crucial utilizada en el desarrollo de Python. Con ellos, puede aislar los paquetes utilizados en diferentes proyectos en una carpeta liviana, generalmente denominada .venv
.
Con Python 3.3 o superior, puede usar el módulo venv integrado para crear un entorno virtual:
# .venv being the name of the virtual environment python -m venv .venv
virtualenv es un proyecto externo que es más rápido y extensible en comparación con la opción integrada. Para crear un entorno virtual, primero instale el paquete virtualenv:
# Installs virtualenv pip install --user virtualenv # Creates a .venv virtual environment virtualenv .venv
A continuación, deberá activar el entorno virtual. En Windows, ejecute uno de los siguientes comandos en función de si usa cmd o PowerShell (recomendado):
:: PowerShell .venv\Scripts\Activate.ps1
:: Cmd .venv\Scripts\activate.bat
En Linux o macOS:
source .venv/bin/activate
19. Git
El control de versiones es una de las prácticas más importantes en el desarrollo de software. Nos permite realizar un seguimiento de todas las modificaciones del código, colaborar con otros desarrolladores y ver una imagen clara del proceso de desarrollo en su conjunto.
Git es, con diferencia, el sistema de control de versiones más utilizado. Puedes instalarlo desde su página de descarga.
Una vez instalado, puede abrir una terminal y obtener un primer vistazo a todas las opciones disponibles con este comando:
git help
Para crear un repositorio, use git init
y escriba el nombre de su repositorio:
git init name_repository Initialized empty Git repository in /home/daniel/name_repository/.git/
Tenga en cuenta que esto solo creará un repositorio Git local. Si desea tener un repositorio remoto donde almacenar todos sus cambios en línea, debe usar una plataforma como GitHub o BitBucket.
Para clonar un repositorio remoto, usará git clone
y la fuente del repositorio. En el siguiente ejemplo, estamos clonando un repositorio de GitHub sobre SSH:
git clone [email protected] :DaniDiazTech/HTML-site.git ... Cloning into 'HTML-site'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (18/18), done. remote: Total 24 (delta 6), reused 21 (delta 4), pack-reused 0 Receiving objects: 100% (24/24), 4.98 MiB | 438.00 KiB/s, done. Resolving deltas: 100% (6/6), done.
20. Docker
Docker facilita el empaquetado y el envío de sus aplicaciones de Python como contenedores ligeros, portátiles y autosuficientes. Ayuda tanto en el desarrollo como en la implementación, lo que permite que todos los colaboradores trabajen con la misma configuración.
Para usar Docker, debe seguir rigurosamente el proceso de instalación que se muestra para su sistema operativo en la página Obtener Docker.
Para enumerar los comandos de Docker disponibles, ejecute lo siguiente:
docker help
Sería difícil explicar cómo ejecutar Docker compose en esta estrecha sección, así que asegúrese de consultar la documentación oficial.
21. Grep
Grep es una utilidad de línea de comandos esencial que se utiliza para la coincidencia de patrones en archivos de texto sin formato.
Un uso común es encontrar cuántas veces se repite una palabra en un archivo:
grep -ic python pythondocument.txt 2
En el ejemplo anterior, obtenemos la cantidad de veces que se encuentra Python (sin distinción entre mayúsculas y minúsculas) en el archivo pythondocument.txt
.
El equivalente de Windows de grep es findstr. Sin embargo, no es exactamente el mismo programa. Puede usar Git Bash para utilizar grep en Windows:
findstr /i /C python pythondocument.txt 2
22. HTTPie
HTTPie es un cliente HTTP de línea de comandos que facilita la interacción con los servicios web. Puede usarlo, por ejemplo, para probar sus API de Python o interactuar con sitios de terceros.
Esta herramienta CLI está disponible en casi todos los administradores de paquetes, como se muestra en la documentación oficial de HTTPie. Sin embargo, también está disponible como paquete de Python, por lo que puede instalarlo con pip.
pip install httpie
Así es como consulta una API remota, en este caso, la API de GitHub:
http GET https://api.github.com/users/danidiaztech HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * ...
23. hacer ping
ping
es un comando CLI disponible de forma predeterminada en prácticamente cualquier sistema operativo. Funciona enviando paquetes de datos a una dirección IP y probando cuánto tiempo lleva transmitir datos y recibir una respuesta, luego muestra los resultados en milisegundos.
Este comando se usa principalmente para verificar la conexión entre dos máquinas, a saber, su máquina y su aplicación de Python en un servidor web:
ping kinsta.com PING kinsta.com(2606:4700:4400::ac40:917d (2606:4700:4400::ac40:917d)) 56 data bytes 64 bytes from 2606:4700:4400::ac40:917d (2606:4700:4400::ac40:917d): icmp_seq=1 ttl=50 time=686 ms
Tabla de referencia de comandos
A continuación, puede encontrar una referencia rápida para cada comando que hemos discutido:
Dominio | Uso |
---|---|
choco | Instala paquetes en Windows |
brew | administrador de paquetes macOS |
apt, pacman, dnf | Administrador de paquetes en diferentes distribuciones de Linux |
python | Ejecuta el intérprete de Python |
pip | Administrador de paquetes de Python |
sudo, runas | Programa Unix y Windows utilizado para escalar permisos |
chmod | Cambia los permisos de archivo |
ls | Muestra el contenido de un directorio. |
pwd | Imprime el directorio de trabajo |
cp | Copia archivos y directorios |
cat | Imprime el contenido del archivo |
mv, move | Mueve (renombra) archivos y directorios |
rm, del | Eliminar archivos y directorios |
exit | sale de la sesión de shell actual |
vim, neovim | Edición de texto eficiente |
nano | Editor de texto para ediciones rápidas |
emacs | El editor más personalizable |
virtualenv, venv | Generadores de entornos virtuales |
git | Sistema de control de versiones |
docker | Aplicaciones en contenedores |
grep | Utilidad de coincidencia de patrones |
http | Utilidad de prueba de servicios web |
ping | Prueba la conectividad de la red |
kill | Termina los programas |
Resumen
Python es uno de los lenguajes de programación más fáciles de aprender. El único obstáculo que encontrará es cuando se dirige a la línea de comando sin comprender los comandos que necesitará.
.
En este artículo, aprendió sobre la línea de comandos y algunos de sus comandos más populares que se usan para el desarrollo de Python.
¿Qué otros comandos has encontrado útiles en el desarrollo de Python? ¡Compártelos en los comentarios a continuación!