win10系统,python 3.5.2, djang 1.10.3
刚刚创建django项目
C:\Users\JD\Desktop\firstsite>python manage.py runserver
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "C:\Python35\lib\site-packages\django\core\management\__init__.py", line 367, in execute_from_command_line
utility.execute()
File "C:\Python35\lib\site-packages\django\core\management\__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python35\lib\site-packages\django\core\management\base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Python35\lib\site-packages\django\core\management\commands\runserver.py", line 58, in execute
super(Command, self).execute(*args, **options)
File "C:\Python35\lib\site-packages\django\core\management\base.py", line 345, in execute
output = self.handle(*args, **options)
File "C:\Python35\lib\site-packages\django\core\management\commands\runserver.py", line 97, in handle
self.run(**options)
File "C:\Python35\lib\site-packages\django\core\management\commands\runserver.py", line 106, in run
autoreload.main(self.inner_run, None, options)
File "C:\Python35\lib\site-packages\django\utils\autoreload.py", line 334, in main
reloader(wrapped_main_func, args, kwargs)
File "C:\Python35\lib\site-packages\django\utils\autoreload.py", line 305, in python_reloader
exit_code = restart_with_reloader()
File "C:\Python35\lib\site-packages\django\utils\autoreload.py", line 291, 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: invalid character
网上没有搜出成功又可解决我的问题的办法。
但有别人成功却不能解决我的:
http://stackoverflow.com/ques... 或者 https://segmentfault.com/q/10...
在~Python35\lib\site-packages\django\utils\autoreload.py中添加
new_environ['PATH']=os.path.abspath(new_environ['PATH'].replace('\u202a', ''))
也可尝试添加
new_environ['PATH'] = os.path.abspath(new_environ['PATH'].encode('ascii', 'replace'))
但这两种方法都不能解决的问题。
希望有经验的同学能够看到我的问题并好心解答
谢谢
自分で解決しました。
リーリー主な問題は、C:Python35Libsite-packagesdjangoutils に移動して autoreload.py ファイルを見つけることです。
場所: autoreload.py --- 関数 restart_with_reloader。採用された最終コードは次のとおりです:
少し乱雑に見えますが、問題があるものを 1 つずつ印刷して確認するという意味です。
リーリーnew_environ の CLASSPATH フィールドに問題があることがわかりました。
そこで、その中の U202a を削除する方法を見つけようとしましたが、後でそれを削除できませんでした (魔法のように、別の位置指定 print(new_environ['CLASSPATH']) には u202a がありません、くそー)。単純にdelで削除しました。
まあ、うまくいきました