应用程序找不到安装为 rpm 的 python 库

2022-01-13 00:00:00 python virtualenv centos rpm

问题描述

我有一个在 CentOS 上的 virtualenv 中运行的 python 应用程序.此应用程序需要一个以 rpm 形式分发和安装的 python 库.当应用程序运行时,我会得到

没有名为...的模块.

我已验证 rpm 已正确安装,并且我还在 virtualenv 的 site-packages 目录中安装了 rpm,但这并没有帮助.安装 rpm 以便在虚拟环境中运行的应用程序可以访问它的正确方法是什么?

解决方案

默认情况下,虚拟环境不访问站点包中的模块.您要么需要允许此类访问(toggleglobalsitepackages in virtualenvwrapper),要么使用选项 --system-site-packages 重新创建允许此类访问的 virtualenv.

I have a python application that's run inside a virtualenv on CentOS. This application needs a python library that's distributed and installed as an rpm. When the application runs I just get

no module named ....

I've verified that the rpm is installed correctly, and I've also installed the rpm in the site-packages directory of the virtualenv but that didn't help. What is the correct way to install an rpm so that an application running in a virtual environment has access to it?

解决方案

By default virtual environments don't access modules in site-packages. You either need to allow such access (toggleglobalsitepackages in virtualenvwrapper) or recreate you virtualenv allowing such access with option --system-site-packages.

相关文章