应用程序找不到安装为 rpm 的 python 库
问题描述
我有一个在 CentOS 上的 virtualenv 中运行的 python 应用程序.此应用程序需要一个以 rpm 形式分发和安装的 python 库.当应用程序运行时,我会得到 p>
没有名为...的模块
.
我已验证 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
.
相关文章