小编san*_*ans的帖子

Python可执行文件找不到libpython共享库

我在CentOS 5上安装Python 2.7.我按如下方式构建并安装了Python

./configure --enable-shared --prefix=/usr/local
make
make install
Run Code Online (Sandbox Code Playgroud)

当我尝试运行/ usr/local/bin/python时,我收到此错误消息

/usr/local/bin/python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当我在/ usr/local/bin/python上运行ldd时,我得到了

ldd /usr/local/bin/python
    libpython2.7.so.1.0 => not found
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030e9a00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00000030e9200000)
    libutil.so.1 => /lib64/libutil.so.1 (0x00000030fa200000)
    libm.so.6 => /lib64/libm.so.6 (0x00000030e9600000)
    libc.so.6 => /lib64/libc.so.6 (0x00000030e8e00000)
    /lib64/ld-linux-x86-64.so.2 (0x00000030e8a00000)
Run Code Online (Sandbox Code Playgroud)

我如何告诉Python在哪里找到libpython?

python

133
推荐指数
4
解决办法
21万
查看次数

使用__dict __-访问Python实例变量是不是错了?

如果我想访问对象的实例变量列表,我可以调用myObject.__dict__.keys().我想使用此属性打印出对象的所有实例变量.我这样做是犹豫不决的,因为这__dict__是一个"秘密"属性,我不明白这个脚注的意思.

那么使用它是错误的myObject.__dict__吗?

python

15
推荐指数
2
解决办法
7127
查看次数

Django形式:名称'self'未定义

我在Django中有一个看起来像这样的表单

class FooForm(forms.ModelForm):
    foo_field = forms.ModelChoiceField(widget=FooWidget(def_arg=self.data))
Run Code Online (Sandbox Code Playgroud)

在我调用的地方self.data,Python会引发异常name 'self' is not defined.我怎么去self那里?

django

7
推荐指数
2
解决办法
5754
查看次数

mod_wsgi python无法从标准库导入

我用virtualenv创建了两个python环境: /usr/local/pythonenv/BASELINE/usr/local/pythonenv/django1.两者都是使用--no-site-packages创建的.我使用easy_install将django安装到django1环境中.

我的wsgi.conf文件有这一行来设置Python解释器:

WSGIPythonHome /usr/local/pythonenv/BASELINE
Run Code Online (Sandbox Code Playgroud)

我的django.wsgi文件开头像:

import site
site.addsitedir('/usr/local/pythonenv/django1/lib/python2.7/site-packages')
import os
import sys
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问我的网站时,我得到500错误,httpd/error_log包含:

[error] Traceback (most recent call last):
[error]   File "/service/usr/local/django_apps/apache/django.wsgi", line 1, in ?
[error]     import site
[error] ImportError: No module named site
Run Code Online (Sandbox Code Playgroud)

我很遗憾为什么Python解释器无法导入自己的标准库.我甚至不确定如何检查httpd是否甚至使用/ usr/local/pythonenv/BASELINE中的解释器,这将是一个良好的开端.

编辑:不相关,但我是否应该在这里或ServerFault发布这个很疯狂.对这方面的建议表示赞赏.

编辑:所以我能够通过http://code.google.com/p/modwsgi/wiki/DebuggingTechniques获得一些调试信息.我改变了我的django.wsgi脚本来包含

import sys
def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'
    print >> environ['wsgi.errors'], sys.path
    print >> environ['wsgi.errors'], sys.prefix
    print >> environ['wsgi.errors'], sys.executable

    response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output] …
Run Code Online (Sandbox Code Playgroud)

python mod-wsgi virtualenv

6
推荐指数
1
解决办法
2820
查看次数

使用每行awk输出作为grep模式

我想找到一个文件的每一行,其中包含不同文件列中的任何字符串.

我试过了,
grep "$(awk '{ print $1 }' file1.txt)" file2.txt
但只是输出完整的file2.txt.

我知道我之前已经使用我在本网站上找到的模式完成了这项工作,但我再也找不到这个问题了.

awk grep

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×3

awk ×1

django ×1

grep ×1

mod-wsgi ×1

virtualenv ×1