저는 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 패키지를 설치할 수 있습니다.