群馬県でPythonを使ったAIやシステムを開発しているファントム

Navigation
群馬県でPythonを使ったAIやシステムを開発しているファントム

群馬県でPythonを使ったAIやシステムを開発しているファントムです。企業の経営課題を最適なテクノロジーで解決します。テックブログではPythonを中心にプログラミングに役立つ情報を発信しています。

投稿を検索する


  • 株式会社ファントム コーポレートサイト

カテゴリー



  • AWS 16
  • Django 45
  • FastAPI 4
  • Flask 8
  • GCP 1
  • Information 37
  • Other 32
  • PHP 2
  • Python 93
  • Pythonista 3
  • Rust 1

タグ


Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。

© 2022 Fantom, Inc.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Python(93)
  • Django(45)
  • Information(37)
  • Other(32)
  • AWS(16)
  • Flask(8)
  • FastAPI(4)
  • Pythonista(3)
  • PHP(2)
  • GCP(1)
  • Rust(1)

Filter by Author

  • EIGHT (14)
  • hayai017 (2)
  • press (196)
Back to Latest Articles
Other

PyCharmに追加されたuvでパッケージ管理

PyCharmに追加されたuvでパッケージ管理 PyCharmはバージョン2024.3.2から、既存のVirtualenvやPipenv、Poetryに加えて、新たに「uv」を使ったパッケージ管理が可能になりました。この […]

Posted on 24th 2月 2025 by press

Python

Pythonで動画のメタデータを取得する

Pythonで動画のメタデータを取得する 動画ファイルの管理をしていると、ファイル名や拡張子、フレームレート、音声の有無、ビットレートなどの情報をまとめて確認したい場面があります。本記事では、Pythonの ffmpeg […]

Posted on 21st 1月 2025 by press

Other

2024年に最も読まれた記事ランキング

2024年に最も読まれた記事ランキング あけましておめでとうございます2025年もどうぞよろしくお願いします ファントムは2025年も皆様のお役に立てるよう精進しますより一層のご支援、お引立てを賜りますようお願い申し上げ […]

Posted on 9th 1月 2025 by press

Other

git stashでコミット前の作業を退避する

git stashでコミット前の作業を退避する 開発の途中で別のブランチに切り替えたり、緊急の修正が必要になることも珍しくありません。そんなときに現在の変更はコミットせずに一時的に保存しつつ、変更前のクリーンな状態に戻し […]

Posted on 3rd 12月 2024 by press

AWS

AWS CLIでファイルをS3へアップロード

AWS CLIでファイルをS3へアップロード クラウドストレージへのファイルアップロードは、現代のシステム開発において欠かせない作業の一つです。特にAmazon S3はその高い信頼性と豊富な機能により、多くのプロジェクト […]

Posted on 24th 11月 2024 by press

Python

Pythonでファイル・ディレクトリを削除する

Pythonでファイル・ディレクトリを削除する 日付形式のディレクトリを管理していると古いデータを定期的に整理する必要が出てきます。特に画像ファイルなどの日々大量に生成されるデータを扱うシステムでは、ストレージの圧迫を防 […]

Posted on 9th 11月 2024 by press

AWS

GitHub Actionsで Lambdaにデプロイ失敗した原因を調査

GitHub Actionsで Lambdaにデプロイ失敗した原因を調査 GitHub ActionsでLambdaへデプロイ中に発生したエラーを調査し、適切なポリシーの追加と deploy.ymlへのコマンド追加で解消 […]

Posted on 5th 9月 2024 by press

AWS

GitHub ActionsでAWS Lambdaに自動デプロイ

GitHub ActionsでAWS Lambdaに自動デプロイ DevOpsの実践において、CI / CD(継続的インテグレーション / 継続的デリバリー)は欠かせない要素となっています。特に、クラウドサービスを活用し […]

Posted on 4th 9月 2024 by press

AWS

Pythonのコマンドラインで特定の関数のみを指定して実行する

Pythonのコマンドラインで特定の関数のみを指定して実行する AWS Lambdaではプログラム実行時に関数を指定しますが、pythonコマンドは通常、ファイル単位で指定するのでそのままでは実行できません。そのためロー […]

Posted on 2nd 9月 2024 by press

Python

PythonとGhostscriptでPDFを軽量化

PythonとGhostscriptでPDFを軽量化 書類の添付などでブラウザからPDFをアップロードする際に数MB以下にしないとアップロードできないことがありますが、印刷用に作成したPDFや複数画像を一枚にまとめたPD […]

Posted on 9th 6月 2024 by press

FastAPI

Alembicでheadが複数存在する時に発生するエラーの修正

Alembicでheadが複数存在する時に発生するエラーの修正 FastAPI, PostgreSQL, Alembicで開発中のプロジェクトで、alembic upgrade headコマンドでマイグレーションを実行し […]

Posted on 26th 4月 2024 by press

Other

Jetson NanoのWiFiモジュール取り付け手順

Jetson NanoのWiFiモジュール取り付け手順 Jetson NanoはNVIDIA社が提供するGPUを搭載した小型かつ低電力で動作する開発用ボードです。GPUを搭載しているのでCUDAを使って画像処理などの並列 […]

Posted on 21st 4月 2024 by press

Information

2024年度 長期インターンシップについて

2024年度 長期インターンシップについて For English page 概要 2024年度 インターンシップの募集を開始します。 募集内容 ・インターンシップ 募集職種 ・機械学習エンジニア・ウェブアプリケーション […]

Posted on 19th 4月 2024 by press

Information

Announcement about Internships for 2024

Announcement about Internships for 2024 日本語のページ Overview Recruitment for the 2024 internship program is now op […]

Posted on 19th 4月 2024 by press

Other

2023年に最も読まれた記事ランキング

2023年に最も読まれた記事ランキング あけましておめでとうございます2024年もどうぞよろしくお願いします ファントムは2024年も皆様のお役に立てるよう精進しますより一層のご支援、お引立てを賜りますようお願い申し上げ […]

Posted on 4th 1月 2024 by press

AWS

CodePipelineでCodeBuildのテストを自動化

CodePipelineでCodeBuildのテストを自動化 CodeCommitで管理しているリポジトリをCodeBuildでテストする場合は通常、手動でテストを実行させる必要がありますが、CodePipelineを使 […]

Posted on 12th 12月 2023 by press

AWS

AWS CodeCommitでプルリクエスト・マージ

AWS CodeCommitでプルリクエスト・マージ ソースコードの管理にはGitHubやGitLabを採用している方が多いかもしれませんが、AWSにもCodeCommitというサービスがあり、5人までは無料で5人以上で […]

Posted on 12th 12月 2023 by press

FastAPI

FastAPI + SQLAlchemy + Alembic + SQLiteでマイグレーション

FastAPI + SQLAlchemy + Alembic + SQLiteでマイグレーション FastAPIにはデータベースのマイグレーション機能はありませんが、Alembicというデータベースのマイグレーションツー […]

Posted on 5th 12月 2023 by press

AWS

AWS LambdaとS3、SNSでファイルのアップロードを自動通知

AWS LambdaとS3、SNSでファイルのアップロードを自動通知 AWS Lambdaは特定の条件を満たすときにサーバーレスでPython(他のプログラミング言語も)を実行できるサービスです。トリガーを検知したときや […]

Posted on 21st 11月 2023 by press

Other

GitHubリポジトリを別のOrganizationに移行

GitHubリポジトリを別のOrganizationに移行 非公開用のOrganization(組織)で管理していたリポジトリの公開範囲をプライベートから公開に変更するにあたって、リポジトリを別のOrganization […]

Posted on 20th 11月 2023 by press

View Latest Posts
Other

PyCharmに追加されたuvでパッケージ管理


press
PyCharmに追加されたuvでパッケージ管理
Posted on 24th 2月 2025 by press
2024年度 インターンシップ 募集開始

PyCharmに追加されたuvでパッケージ管理

PyCharmはバージョン2024.3.2から、既存のVirtualenvやPipenv、Poetryに加えて、新たに「uv」を使ったパッケージ管理が可能になりました。この記事では、uvによるパッケージ管理の特徴や使い方についてを解説します。

開発環境

PC: MacBook Pro (14, 2021)
OS: macOS Monterey 12.6.7
PyCharm: 2024.3.2 
Python: 3.12.0

目次

  • uvについて
  • 使い方
  • pipと比較

uvについて

uvは「Rustで書かれた非常に高速なPythonパッケージとプロジェクト管理ツールです。」と書かれています。今回、pipとの速度比較を行った結果、キャッシュを使用せずにインストールしたため「pipより10〜100倍速い」とはなりませんでしたが、6〜7倍ほどの速度差が出ました。

https://docs.astral.sh/uv/

使い方

パッケージの追加

パッケージを追加する場合は、uv addコマンドを使用します。以下のように複数のパッケージを同時にインストールすることも可能です。インストールしたパッケージはpyproject.tomlに追加されます。

uv add black flake8 isort setuptool

pyproject.toml

[project]
name = "uv-demo"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.12"
dependencies = [
    "black>=25.1.0",
    "flake8>=7.1.2",
    "isort>=6.0.0",
    "setuptools>=75.8.0",
]

パッケージの除外

追加したパッケージを除外する場合は、uv removeコマンドを使用します。コマンドを実行するとpyproject.tomlから除外されます。

uv remove black

pyproject.toml

[project]
name = "uv-demo"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.12"
dependencies = [
    "flake8>=7.1.2",
    "isort>=6.0.0",
    "setuptools>=75.8.0",
]

開発環境にパッケージを追加

開発環境のみで使用するパッケージを追加する場合は、uv add --devコマンドを使用します。インストールしたパッケージはpyproject.tomlのdependency-groupsに追加されます。

uv add --dev black flake8 isort setuptools

pyproject.toml

[project]
name = "uv-demo"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.12"
dependencies = []

[dependency-groups]
dev = [
    "black>=25.1.0",
    "flake8>=7.1.2",
    "isort>=6.0.0",
    "setuptools>=75.8.0",
]

開発環境に追加したパッケージの除外

開発環境に追加したパッケージを除外する場合は、uv remove --devコマンドを使用します。コマンドを実行するとpyproject.tomlから除外されます。

uv remove --dev black

pyproject.toml

[project]
name = "uv-demo"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.12"
dependencies = []

[dependency-groups]
dev = [
    "flake8>=7.1.2",
    "isort>=6.0.0",
    "setuptools>=75.8.0",
]

パッケージの同期

パッケージを同期する場合は、uc syncコマンドを使用します。

全てのパッケージを同期

uv sync

本番環境でのみ使用するパッケージを同期(開発環境に追加したパッケージは含めない)

uv sync --no-dev

pipとの速度比較

uvのインストール時間

uvのインストール時間
uvのインストール時間

pipのインストール時間

pipのインストール時間
pipのインストール時間
  • uv add –no-cache black flake8 isort setuptools
    • ユーザ時間: 0.03s
    • システム時間: 0.04s
    • CPU使用率: 14%
    • 合計時間: 0.437s
  • pip install –no-cache-dir black flake8 isort setuptools
    • ユーザ時間: 1.29s
    • システム時間: 0.36s
    • CPU使用率: 55%
    • 合計時間: 2.981s

比較すると、uv add が約0.44秒、pip install が約3秒弱なので、単純な計算では 6〜7倍ほどの速度差がでました。

ファントムYouTubeチャンネル

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    press
    • PyCharm
    • uv
    • Share Article:
    • Twitter
    • Facebook
    • Pinterest
    • LinkedIn
    • Reddit

    Related Articles

    Other

    dockerignoreで転送に時間がかかるファイルを除外

    dockerignoreで転送に時間がかかるファイルを除外 数GBを超えるSQLiteやメディアデータを含むプロジェクトをDocker Composeで起動する際に、ファイルの転送に時間がかかってしまいビルドがなかなか終 […]

    Posted on 29th 12月 2021 by press
    Other

    Twitter APIの移行作業について

    Twitter APIの変更に関して 最近、Twitter APIのバージョンがアップデートされ、v1が廃止されました。これに伴い、開発者はv2への移行が必要となります。 Twitter v1の廃止 Twitter v1 […]

    Posted on 6th 5月 2023 by EIGHT