私はVirtualenv(python3.6を使用)を作成し、その環境にyum / dnfパッケージをインストールしようとしています。これを行う方法はありますか?または、その環境でそれぞれエラー ->import dnf
をimport 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パッケージをインストールできます。