質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

526閲覧

pythonのvenvで仮想環境を作成した際に、デフォルトでインストールされるライブラリのバージョンはどこで指定されているのか

tadpolecom

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2022/09/03 12:39

vnevで仮想環境を作成します

python 3.10です。

pythonを扱う際に、vnevで仮想環境を作成します。
私の環境では完成した仮想環境にはデフォルトで

pip 22.2.1 setuptools 63.2.0

がインストールされています。

一方グローバルには

pip 22.2.2

のpipがインストールされています。

この状況から考えるにデフォルトでは、グローバルのpipと同じバージョンでも、最新のバージョンが自動でインストールされるわけではなさそうです。

疑問点

であればpipとsetuptools のバージョンはどこで指定され、仮想環境が構築されるのでしょうか。

可能であればデフォルトでインストールされるpipのバージョンを最新にすることで、新しい仮想環境を構築した際にいちいちpipのバージョンを上げてくださいと怒られないようにしたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bsdfan

2022/09/04 10:52

解決済みになっていますが、venv に --upgrade-deps オプションをつけるのはどうでしょう。 古いpythonだと、このオプションは使えません。
tadpolecom

2022/09/07 07:38

こういうコマンドを探していました。 やっぱり公式ドキュメントは隅から隅まで読むべきですね。 ありがとうございます。
guest

回答1

0

ベストアンサー

https://docs.python.org/ja/3/library/venv.html

--without-pip オプションが与えられない限り、pip を仮想環境でブートするために ensurepip が呼ばれます。

https://docs.python.org/ja/3/library/ensurepip.html

ensurepip パッケージは pip インストーラを既にインストールされている Python 環境や仮想環境にブートストラップする助けになります。

つまり仮想環境に入るのは、ensurepipでブートストラップされるバージョンになります。


lib/python3.XX/ensurepip/_bundledpip-XX.Y.Z-py3-none-any.whlsetuptools-XX.Y.Z-py3-none-any.whlがあると思います。
ファイル名はそのままで中身をすげかえればあるいは……?

読むべきコードはこれです。
https://github.com/python/cpython/blob/v3.10.6/Lib/ensurepip/init.py

(私にはトラブルの元だとしか思えませんが一応)

投稿2022/09/04 01:22

編集2022/09/04 02:25
quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tadpolecom

2022/09/04 05:05

なるほどここのwheelから来ているんですね。 確かに弄るべきではなさそうです。バージョンの由来が分かってすっきりしました。 ありがとうございます。 バージョンの指定に関しては、こちらから指定した環境を構築するための仮想環境ではありませんから、仕方ないでしょう。コードまで提示して頂いてありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問