VirtualenvにYum / Dnfをインストールする

VirtualenvにYum / Dnfをインストールする

私はVirtualenv(python3.6を使用)を作成し、その環境にyum / dnfパッケージをインストールしようとしています。これを行う方法はありますか?または、その環境でそれぞれエラー ->import dnfimport yum提供します。ModuleNotFoundError: No module named 'dnf'ModuleNotFoundError: No module named 'yum'

答え1

まあ、これはvirtualenvの目的です。この場合は、システムのPythonパッケージとは別に保つことですdnf。 virtualenvを作成するときにこの問題を解決する方法はいくつかあります。

usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] [--upgrade-deps] ENV_DIR [ENV_DIR ...]

Creates virtual Python environments in one or more target directories.

positional arguments:
  ENV_DIR               A directory to create the environment in.

options:
  -h, --help            show this help message and exit
  --system-site-packages
                        Give the virtual environment access to the system site-packages dir.

そのため、--system-site-packages仮想環境の作成時には必ずご利用ください。


DNFを別々にインストールしたい場合があります。当然、100%ディストリビューション専用のツールとして利用可能なpypiパッケージはありません。したがって、手動インストールはdnf git repo READMEで説明されているとおりに機能し続けます。


ノート:DNFはまだ/ etc /のDNF設定、/ varのキャッシュ、/ libのライブラリを使用し、システムルートにインストールします。これを変更するには、別の構成ファイルを使用するように指示する必要があります。

答え2

YumとdnfはLinuxパッケージマネージャです。 Virtualenvでは、pip(Pythonパッケージマネージャ)を介してPythonパッケージをインストールできます。

関連情報