3

この終了コードはどこにも見つかりませんでしたが、うまくいけば、あなたの 1 人が私を助けてくれるか、これが python/Django のバグであるかどうかを教えてくれます。

とにかく、まずここにスタックトレースがあります:

    Traceback (most recent call last):
  File "C:\Sitezooi\SiteTest\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Program Files\Python\lib\site-packages\django\core\management\__init_
_.py", line 385, in execute_from_command_line
    utility.execute()
  File "C:\Program Files\Python\lib\site-packages\django\core\management\__init_
_.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Program Files\Python\lib\site-packages\django\core\management\base.py
", line 288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Program Files\Python\lib\site-packages\django\core\management\base.py
", line 338, in execute
    output = self.handle(*args, **options)
  File "C:\Program Files\Python\lib\site-packages\django\core\management\command
s\runserver.py", line 83, in handle
    self.run(*args, **options)
  File "C:\Program Files\Python\lib\site-packages\django\core\management\command
s\runserver.py", line 92, in run
    autoreload.main(self.inner_run, args, options)
  File "C:\Program Files\Python\lib\site-packages\django\utils\autoreload.py", l
ine 322, in main
    reloader(wrapped_main_func, args, kwargs)
  File "C:\Program Files\Python\lib\site-packages\django\utils\autoreload.py", l
ine 293, in python_reloader
    exit_code = restart_with_reloader()
  File "C:\Program Files\Python\lib\site-packages\django\utils\autoreload.py", l
ine 279, in restart_with_reloader
    exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ)
UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: inval
id character

奇妙なファイルパスは無視してください。C:\ に直接配置しようとしました。

コンパイル機能を使用する場合の UnicodeEncodeErrorという、おそらく同様の別の Stackoverflow Question がありますが、使用するファイルパスが英語以外の文字を使用しているようではありません。そこでいくつかの解決策を試しましたが、うまくいきませんでした。

以前に2.7.xでテストされたpython 3.4.1の実行も機能しませんでした。Linux (Ubuntu) で問題なく動作します。

django プロジェクトは空の startproject プロジェクトであるため、特別なことは何もありません。

4

5 に答える 5

6

私は同じ問題を抱えていましたが、解決策を見つけました。検索したところ、Windows 7 & 8 でも発生します。

どのように解決したかを詳しく知りたい場合は、Django のフォーラムに提出したチケットを確認してください: Error in manage.py runserver on Windows (7 / 8 / 8.1)

エラーを解決するには、このファイルC:\Program Files\Python\lib\site-packages\django\utils\autoreload.py (私はあなたのコードを参照として使用しています) を開き、エラーの直前にこのコード行を追加します (行 279):

new_environ['PATH'] = os.path.abspath(new_environ['PATH'].replace('\u202a', ''))

関数は次のようになります。

def restart_with_reloader():
    while True:
        args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv
        if sys.platform == "win32":
            args = ['"%s"' % arg for arg in args]
        new_environ = os.environ.copy()
        new_environ["RUN_MAIN"] = 'true'
        new_environ['PATH'] = os.path.abspath(new_environ['PATH'].replace('\u202a', ''))
        exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ)
        if exit_code != 3:
            return exit_code

もう一度manage.py runserverを使用してみてください。これがあなたの問題を解決し、あなたが一人であると感じないことを願っています.

于 2014-10-22T20:17:00.040 に答える
3

私の場合は関係ありませんでしたが、英語以外の文字を使用した環境設定PATHがあるようです。CHROME_RESTARTそれをポップするとnew_environ、トリックが行われました:

def restart_with_reloader():
    while True:
        args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv
        if sys.platform == "win32":
            args = ['"%s"' % arg for arg in args]
        new_environ = os.environ.copy()
        new_environ["RUN_MAIN"] = 'true'

        # This will prevent UnicodeEncodeError
        new_environ.pop("CHROME_RESTART", None)

        exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ)
        if exit_code != 3:
            return exit_code
于 2016-11-30T12:35:40.403 に答える
2

私はこれを試しました

new_environ['PATH'] = os.path.abspath(new_environ['PATH'].replace('\u202a', ''))

しかし、うまくいきませんでした。

そして私の解決策は

new_environ['PATH'] = os.path.abspath(new_environ['PATH'].encode('ascii', 'replace'))

それがあなたを助けることを願っています!

于 2014-12-10T05:16:50.093 に答える