這個問題在這里已經有了答案: Google App Engine dev_appserver.py:watcher_ignore_re 標志“不是 JSON 可序列化的” (2 個回答) 5 天前關閉。
我想首先指出,我嘗試了此執行緒中提到的每個答案。這些似乎都不能解決問題,而且這個問題已經有一段時間了。
問題
我想在將某些檔案添加到觀察者的忽略串列時運行 dev_appserver.py;這意味著 skip_files 是不可能的,因為此選項將它們從服務器讀取中洗掉。
當我在沒有 --watcher_ignore_re 標志的情況下運行 dev_appserver.py 時,除了檔案監視之外,一切正常。當我使用標志運行它時,出現以下錯誤:
INFO 2021-11-02 13:54:50,100 devappserver2.py:309] Skipping SDK update check.
Traceback (most recent call last):
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 109, in <module>
_run_file(__file__, globals())
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 103, in _run_file
_execfile(_PATHS.script_file(script_name), globals_)
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 83, in _execfile
execfile(fn, scope)
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 635, in <module>
main()
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 623, in main
dev_server.start(options)
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 356, in start
java_major_version=self.java_major_version
File "/home/USERNAME/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/metrics.py", line 185, in Start
self._cmd_args = json.dumps(vars(cmd_args)) if cmd_args else None
File "/usr/lib/python2.7/json/__init__.py", line 244, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 207, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 270, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python2.7/json/encoder.py", line 184, in default
raise TypeError(repr(o) " is not JSON serializable")
TypeError: <_sre.SRE_Pattern object at 0x7f720c625240> is not JSON serializable
我嘗試了不同的版本但沒有成功:
- GCloud 361.0.0/362.0.0/357.0.0/240.0.0/220.0.0/200.0.0
- 蟒蛇 2.7.18/3.9.7
我還在觀察者標志上嘗試了不同的字串值:
- “”
- ''
- “.css”
- “*.css”
- ".*\css"
- '.css'
- '*.css'
- '.*\css'
- 等等。
因此,我知道問題不在于字串的制定方式(至少看起來不像)。不同的版本也無濟于事。
我的同事沒有這個問題,并且正在使用我在 MacOS 上列出的不同版本。我目前使用的是 arch Linux,但我在 Mac 上也遇到了完全相同的問題。
我也在export CLOUDSDK_PYTHON=python2.7我的~/.zshrc檔案中添加了。
uj5u.com熱心網友回復:
所以事實證明這畢竟是重復的。我錯過了一條有解決方案的評論。這個:https : //stackoverflow.com/a/52238832/9706597
It looks like it is an issue with the google analytics code built into dev_appserver2 (google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\devappserver2.py on or around line 316). It wants to send all of your command line options to google analytics. If you remove the analytics client id by adding the command line option --google_analytics_client_id= (note: '=' without any following value) the appserver won't call the google analytics code where it is trying to JSON serialize an SRE object and failing.
簡而言之,對于其他人來說,只需添加此選項,只需添加此選項:
--google_analytics_client_id= 沒有價值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/351863.html
標籤:python-2.7 谷歌应用引擎 云 开发应用服务器
