没有名为os的模块

没有名为os的模块

本文介绍了Python:ImportError:没有名为os的模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

error_log

...
[Fri Sep 07 16:30:14 2012] [error] import os
[Fri Sep 07 16:30:14 2012] [error] ImportError: No module named os

-shell -

[root@lts5srv1 home]# ldd /root/epd-5.1.0/bin/python
    libpython2.5.so.1.0 => /root/epd-5.1.0/lib/libpython2.5.so.1.0 (0x00002b0829205000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003da0600000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003d9fe00000)
    libutil.so.1 => /lib64/libutil.so.1 (0x0000003dadc00000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003da0200000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003d9fa00000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003d9f600000)

有谁知道如何解决这个错误?这是我在Redhat系统中尝试运行python脚本或django.wsgi脚本时遇到的唯一错误,之后我将在大学服务器上上传我的网络应用程序,而且我已经配置VirtualHost。那是唯一的问题,有人可以帮忙吗?谢谢。

Anybody know how to solve this error? it's the only error that i get when i try to run a python script or a django.wsgi script in a redhat system, after that i'm going to upload my web-app in a university server... and i've already configuret the VirtualHost. So that was the only problem, can anybody help please? Thank You.

推荐答案

我找到了一个解决方案(在redhat系统中),这是一个与Django框架有关的解决方案..

I found a solution for that problem (in redhat system), this is a solution in relation with Django framework..

我已经安装了Python 2.6(所以我不再使用默认安装的python),并使用新版本的Python和其他模块重新安装了Django需要如下:( easy_isntall MySQL_python-1.2.3-py2.6-linux-x86_64 setuptools mod_wsgi- 2.5 ),所以安装后所有这些模块都应该在Python 2.6的site-packages目录中进行比较: /usr/local/lib/python2.6/site-packages 。 p>

I've installed Python 2.6 (so i don't use anymore the default installed python), and reinstalled Django using the new version of Python and some other modules that were required like: (easy_isntall, MySQL_python-1.2.3-py2.6-linux-x86_64, setuptools, mod_wsgi-2.5) so after install all these modules should compare in the site-packages directory of Python 2.6: "/usr/local/lib/python2.6/site-packages".

[root@lts5srv1 Python-2.6.8]# ./configure --enable-shared --prefix=/usr/local
[root@lts5srv1 Python-2.6.8]# make
[root@lts5srv1 Python-2.6.8]# make install

配置mod_wsgi与Python 2.6共享库链接

Configure mod_wsgi to link with Python 2.6 shared libs

[root@lts5srv1 /]# cd /usr/local/lib/python2.6/config/
[root@lts5srv1 config]# ln -s ../../libpython2.6.so .

[root@lts5srv1 mod_wsgi-2.5]# ./configure --with-python=/usr/local/bin/python2.6
[root@lts5srv1 mod_wsgi-2.5]# make
[root@lts5srv1 mod_wsgi-2.5]# make install

然后设置环境变量:

[root@lts5srv1 Python-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib/python2.6
[root@lts5srv1 Python-2.6.8]# export LD_RUN_PATH=/usr/lib64/httpd/modules

编辑〜/ .bashrc 并添加一些行以保持更改永久:

Editing ~/.bashrc and adding some lines to keep the changes permanent:

[root@lts5srv1 ~]# vi ~/.bashrc

# .bashrc

# User specific aliases and functions

PATH=/root/epd-5.1.0/lib/python2.5:/root/epd-5.1.0/bin:${PATH}
PYTHONPATH=/usr/local/lib/python2.6
LD_LIBRARY_PATH=/usr/local/lib/python2.6
LD_RUN_PATH=/usr/lib64/httpd/modules

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

Django安装:

[root@lts5srv1 Django-1.4.1]# /usr/local/bin/python2.6 setup.py install

然后,检查模块是否正确集成:

Then, checking if the modules are correctly integrated:

[root@lts5srv1 /]# ldd /usr/lib64/httpd/modules/mod_wsgi.so
[root@lts5srv1 /]# ldd /usr/local/bin/python2.6

这篇关于Python:ImportError:没有名为os的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-26 07:44