我已经创建了一个Virtualenv (使用python3.6),并希望在该环境中安装yum/dnf包。有什么办法吗?因为import dnf或import yum给了我在那个环境中的错误-> ModuleNotFoundError: No module named 'dnf',ModuleNotFoundError: No module named 'yum'。
发布于 2022-03-08 08:00:07
好吧,这就是虚拟环境的意义所在:将它与系统的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自述。
注意: DNF仍将使用/etc/中的DNF配置、/var中的缓存、/lib中的/lib并将其安装到您的系统根目录中。如果您想要更改它,您需要告诉它使用不同的配置文件。
发布于 2022-03-08 08:06:15
Yum和dnf是Linux包管理器。在Virtualenv中,您可以通过pip (python包管理器)安装Python包。
https://unix.stackexchange.com/questions/693376
复制相似问题