1

私は現在、Django1.6b2 と Python3.3 をサーバーで動作させようとしています。
今のところ非常に多くの問題があり、それらをリストすることはできません (Flup、Threading、FastCGI)。ここに私の django.fcgi があります:

#!/home/benjamin/Python/3.3/bin/python3

import os, sys
import django
print("Django Version : {}".format(django.VERSION))
print("Python Version : {}".format(sys.version[:3]))

_PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, _PROJECT_DIR)
sys.path.insert(0, os.path.dirname(_PROJECT_DIR))

_PROJECT_NAME = _PROJECT_DIR.split('/')[-1]
os.environ['DJANGO_SETTINGS_MODULE'] = "%s.settings" % _PROJECT_NAME

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

そして、ここに私のトレースバックがあります:

Traceback (most recent call last):
  File "website/public/django.fcgi", line 17, in <module>
    runfastcgi(method="threaded", daemonize="false")
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/core/servers/fastcgi.py", line 143, in runfastcgi
    from django.core.servers.basehttp import get_internal_wsgi_application
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/core/servers/basehttp.py", line 25, in <module>
    from django.core.wsgi import get_wsgi_application
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/core/wsgi.py", line 1, in <module>
    from django.core.handlers.wsgi import WSGIHandler
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/core/handlers/wsgi.py", line 9, in <module>
    from django import http
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/http/__init__.py", line 4, in <module>
    from django.http.response import (HttpResponse, StreamingHttpResponse,
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/http/response.py", line 17, in <module>
    from django.utils import six, timezone
  File "/home/benjamin/Python/3.3/lib/python3.3/site-packages/django/utils/timezone.py", line 11, in <module>
    import pytz
  File "<frozen importlib._bootstrap>", line 1567, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1534, in _find_and_load_unlocked
  File "/home/benjamin/modules/pytz-2013b-py2.6.egg/pytz/__init__.py", line 1103, in <module>
  File "/home/benjamin/modules/pytz-2013b-py2.6.egg/pytz/__init__.py", line 1103, in <listcomp>
  File "/home/benjamin/modules/pytz-2013b-py2.6.egg/pytz/__init__.py", line 107, in resource_exists
  File "/home/benjamin/modules/pytz-2013b-py2.6.egg/pytz/__init__.py", line 100, in open_resource
  File "/nfs/http7/benjamin/Python/distribute-0.7.3/pkg_resources.py", line 949, in resource_stream
    self, resource_name
  File "/nfs/http7/benjamin/Python/distribute-0.7.3/pkg_resources.py", line 1379, in get_resource_stream
    return StringIO(self.get_resource_string(manager, resource_name))
  File "/nfs/http7/benjamin/Python/distribute-0.7.3/pkg_resources.py", line 1956, in StringIO
    return StringIO(*args,**kw)
TypeError: initial_value must be str or None, not bytes

どうすれば解決できますか?Django は、pip-3.3 (pytz-2013b-py2.6.egg) では見つからないモジュールをインポートしようとしているようです。これは 2.6 で、なぜ pip はそれをインストールするのですか? xD

誰かが私を助けることができますか?=)

4

1 に答える 1

2

次の場所でpython3のパッケージを配布する際のバグのようです-

pkg_resources.py -> get_resource_string このメソッドはバイトを返し、StringIO は文字列を期待しています。decode("ISO-8859-1") メソッドを使用してデコードしようとしたところ、pytz パッケージでエラーが発生しました。

しかし、私はこれに対する回避策を得ました -

「site-packages/easy-install.pth」ファイルの「./pytz-2013.7-py3.3.egg」を「./pytz」に変更します。

site-packages ディレクトリに pytz ディレクトリが解凍されていることを確認してください。

于 2013-11-01T12:58:17.127 に答える