PyCharmがそのVenvで使用するPython実行可能ファイルはどこにありますか?

PyCharmがそのVenvで使用するPython実行可能ファイルはどこにありますか?

私はLinux Mint 20.3でPyCharm 2022.3.2(Community Edition)を使用しています。新しいプロジェクトを作成し、オプションとして「Virtualenvを使用する新しい環境」を選択しました。 PyCharmはこのプロジェクトのインタプリタとして「Python 3.10」を表示します。

PyCharm Pythonインタプリタ

Venvに新しいパッケージをインストールするなど、このプロジェクトで私のコードを実行すると、すべてがうまくいきます。 PyCharm の対話型 Python コンソールは、Python 3.10 が venv の実行可能ファイルと動作することを確認します。

PyCharm Pythonコンソール

しかし、PyCharmなしで通常の端末でコードを実行したいと思います。そのため、cdプロジェクトディレクトリに移動して次のコマンドを呼び出します。

$ source venv/bin/activate
(venv) $ which python
python not found

Python実行可能ファイルが見つかりませんでした! 3つのシンボリックリンクのうちvenv/bin有効なものはありません(私の端末ウィンドウに赤)。

(venv) $ ls -lah venv/bin/pyt*
lrwxrwxrwx 1 (redacted) (redacted) 19 Mar 15 09:56 venv/bin/python -> /usr/bin/python3.10
lrwxrwxrwx 1 (redacted) (redacted)  6 Mar 15 09:56 venv/bin/python3 -> python
lrwxrwxrwx 1 (redacted) (redacted)  6 Mar 15 09:56 venv/bin/python3.10 -> python

/usr/bin/python3.10私のシステムにインストールされていません:

$ ls -lah /usr/bin/pyt*
lrwxrwxrwx 1 root root    9 Aug  8  2020 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3,5M Jul  1  2022 /usr/bin/python2.7
lrwxrwxrwx 1 root root    9 Aug  8  2020 /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 root root 5,3M Nov 14 13:59 /usr/bin/python3.8
lrwxrwxrwx 1 root root   33 Nov 14 13:59 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
lrwxrwxrwx 1 root root   16 Mar 13  2020 /usr/bin/python3-config -> python3.8-config

それでは、PyCharmで使用されるPython 3.10実行可能ファイルはどこにありますか? PyCharmの外部でvenvをどのように使用しますか?

ベストアンサー1

私はついに何が起こっているのか調べました。 Linux Mint Software Managerを介してPyCharmをインストールしましたが、次のようにインストールされました。フラットパックパック。明らかに、このパッケージはサンドボックスで独自のPython 3.10を使用しています。

砂箱

Flatpakを使用すると、各アプリケーションは隔離された環境(「サンドボックス」と呼ばれる)で構築および実行されます。各サンドボックスにはアプリケーションとそのランタイムが含まれています。

Flatpak - 基本概念)

このサンドボックスに入ると、正しいPython実行可能ファイルが見つかり、venvと正しく入力してアプリケーションを起動できます。

$ flatpak run --branch=stable --arch=x86_64 --command=bash com.jetbrains.PyCharm-Community

$ ls -lah /usr/bin/pyt*
lrwxrwxrwx 1 nfsnobody nfsnobody    7 Feb 27 11:05 /usr/bin/python -> python3
lrwxrwxrwx 1 nfsnobody nfsnobody   10 Feb 27 11:05 /usr/bin/python3 -> python3.10
-rwxr-xr-x 2 nfsnobody nfsnobody  16K Feb 27 11:04 /usr/bin/python3.10
-rwxr-xr-x 2 nfsnobody nfsnobody 3,3K Feb 27 11:04 /usr/bin/python3.10-config
lrwxrwxrwx 1 nfsnobody nfsnobody   17 Feb 27 11:05 /usr/bin/python3-config -> python3.10-config
$ cd <project_directory>
$ source venv/bin/activate
(venv) $ which python
<project_directory>/venv/bin/python

おすすめ記事