Как мне удалить все пакеты, установленные с помощью pip?

pip freeze > requirements.txt

pip uninstall -r requirements.txt

или

pip uninstall -r requirements.txt -y

https://stackoverflow.com/questions/11248073/how-do-i-remove-all-packages-installed-by-pip

Настройка окружения для Linux

Запустите терминал.

Подключите репозиторий deadsnakes со всеми версиями Python.

sudo add-apt-repository ppa:deadsnakes/ppa

Установите Python 3.9:

sudo apt-get install python3.9
Читать далее «Настройка окружения для Linux»

Виртуальное окружение Python (venv)

Для создания виртуального окружения, перейдите в директорию своего проекта и выполните:

python -m venv venv

-m — флаг для запуска venv как исполняемого модуля.

venv — название виртуального окружения (где будут храниться ваши библиотеки).

В результате будет создан каталог venv/ содержащий копию интерпретатора Python, стандартную библиотеку и другие вспомогательные файлы. Все новые пакеты будут устанавливаться в venv/lib/python3.x/site-packages/.

Активация

Чтобы начать пользоваться виртуальным окружением, необходимо его активировать:

  • venv\Scripts\activate.bat — для Windows;
  • source venv/bin/activate — для Linux и MacOS.

source выполняет bash-скрипт без запуска дополнительного bash-процесса.

Проверить успешность активации можно по приглашению оболочки. Она будет выглядеть так:

(venv) root@server:/var/test#

Также новый путь до библиотек можно увидеть выполнив команду:

python -c "import site; print(site.getsitepackages())"

Автоматическая активация

В некоторых случаях, процесс активации виртуального окружения может показаться неудобным (про него можно банально забыть 🤷‍♀️).

На практике, для автоматической активации перед запуском скрипта, создают скрипт-обертку на bash:

#!/usr/bin/env bash

source $BASEDIR/venv/bin/activate
python $BASEDIR/my_app.py

Теперь можно установить права на исполнение и запустить нашу обертку:

chmod +x myapp/run.sh
./myapp/run.sh

Деактивация

Закончив работу в виртуальной среде, вы можете отключить ее, выполнив консольную команду:

deactivate

Оригинал статьи: https://pythonchik.ru/okruzhenie-i-pakety/virtualnoe-okruzhenie-python-venv

Reshaping Pandas Data frames with Melt & Pivot

import pandas as pd

df = pd.DataFrame(data = {
    'Day' : ['MON', 'TUE', 'WED', 'THU', 'FRI'], 
    'Google' : [1129,1132,1134,1152,1152], 
    'Apple' : [191,192,190,190,188] 
})

reshaped_df = df.melt(id_vars=['Day'], var_name='Company', value_name='Closing Price')

reshaped_df.head()

Unmelt/Reverse Melt/Pivot

original_df = reshaped_df.pivot(index='Day', columns='Company')['Closing Price'].reset_index()
original_df.columns.name = None

original_df.head()

Оригинал статьи: https://www.freblogg.com/pandas-melt-pivot

Использование cudf в jupyter notebook

Устанавливаем cudа на WSL2 по инструкции.

  • Проверяем, что установлены поcледние драйверы Nvidia, если нужно обновить, то ставить с официального сайта https://www.nvidia.com/Download/index.aspx
  • Проверяем последнюю версию wsl
wsl.exe --update
  • Ставим cuda
sudo apt-key del 7fa2af80

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda-repo-wsl-ubuntu-12-0-local_12.0.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-0-local_12.0.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
Читать далее «Использование cudf в jupyter notebook»

Locust: нагрузочное тестирование

Подробнее на официальном сайте: https://docs.locust.io/en/latest/quickstart.html

Создание простого теста:

from locust import HttpUser, task, between

class Exists(HttpUser):
    wait_time = between(1, 5)

    @task(1)
    def auth(self):
        self.client.get("/exists")

Для проверки можно выполнить:

import requests as r
base_url = 'http://localhost:5007/release'
r.get(base_url + '/exists')

# <Response [200]>
Читать далее «Locust: нагрузочное тестирование»