我无法让Apache/WSGI使用我的VirtualEnv.我在我的WSGI文件中添加了以下两行(服务器上的路径指向目标virtualenv中site-packages的实际位置):
import site
site.addsitedir('/sites/mysite/virtpy/lib/python2.6/site-packages')
Run Code Online (Sandbox Code Playgroud)
(来自http://www.foxhop.net/django-virtualenv-apache-mod_wsgi).但是,当我尝试在浏览器中加载url时,我得到500.检查apache日志:
[Sun Jul 17 11:07:11 2011] [error] [client 94.170.105.142] app = import_module(appname)
[Sun Jul 17 11:07:11 2011] [error] [client 94.170.105.142] File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module
[Sun Jul 17 11:07:11 2011] [error] [client 94.170.105.142] __import__(name)
[Sun Jul 17 11:07:11 2011] [error] [client 94.170.105.142] TemplateSyntaxError: Caught ImportError while rendering: No module named tagging
[Sun Jul 17 11:07:11 2011] [debug] mod_deflate.c(615): [client 94.170.105.142] Zlib: Compressed 629 to 387 : URL /
Run Code Online (Sandbox Code Playgroud)
所以我猜VirtualEnv没有被加载.任何人都知道如何告诉Apache/WSGI使用正确的virtualenv?
UPDATE
我按照Ken的建议更新了django.wsgi,但现在我在apache日志中收到以下错误
[Sun Jul …Run Code Online (Sandbox Code Playgroud) 这是一个一般的,最佳实践问题.以下哪个try-except示例更好(函数本身是requests.get()的简单包装器):
def get(self, url, params=params):
try:
response = {}
response = requests.get(url, params=params)
except requests.ConnectionError,e:
log.exception(e)
finally:
return response
Run Code Online (Sandbox Code Playgroud)
要么
def get(self, url, params=params):
try:
return requests.get(url, params=params)
except requests.ConnectionError,e:
log.exception(e)
return {}
Run Code Online (Sandbox Code Playgroud)
或许两者都不是最理想的?我似乎经常为错误记录编写这些包装函数,并且想知道最恐怖的方式.对此有任何建议将不胜感激.
我正在使用以MacRoman char编码保存的CakePHP网站.我想将所有文件更改为UTF-8以进行国际化.对于网站中的所有其他文件,这工作正常.但是,在core.php文件中有一个安全盐,它是一个带有特殊字符的字符串("!:*etc.).当我将这个文件保存为UTF-8时,盐被破坏.我可以用git,但这是一个烦恼.
有谁知道如何将字符串从MacRoman转换为UTF-8?
我正在尝试使用散列字符串解密
Security::cipher($strHashedPassword, Configure::read('Security.salt'));
Run Code Online (Sandbox Code Playgroud)
似乎没有给出理想的结果.有人对这个有经验么?从文档中看起来应该可行.
我正在研究优秀的C语言编程语言,并且在尝试打开和读取文件时遇到困难.程序编译,但执行时出现seg错误:
$ ./a.out
Segmentation fault
Run Code Online (Sandbox Code Playgroud)
这是代码:
#include <stdio.h>
main()
{
FILE *fp;
fp=fopen("/home/c-sandbox/index.html", "r");
fprintf(fp, "Testing...\n");
fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)
请注意,该路径指向包含字符串"hello,world"的实际文件.
关于我哪里出错的任何想法?
apache ×1
c ×1
cakephp ×1
django ×1
encoding ×1
encryption ×1
file-io ×1
php ×1
python ×1
security ×1
syntax ×1
try-except ×1
utf-8 ×1
virtualenv ×1
wsgi ×1