weditor
openatx에서 만든 uianimator2에서 UI script를 쉽게 사용하기 위한 web app입니다. 해당 어플이 있으면 좀 더 쉽게 스크립트 작성이 가능합니다.
설치 방법은 pip install weditor 이라고 하면 되는데 종종 아래와 같은 오류가 발생합니다.
C:\Users>pip install weditor
Collecting weditor
Downloading https://files.pythonhosted.org/packages/04/9b/ec6c2b8ab08fecd21d98121e2b91244632d1836669bb9c917ff01406bd1a/weditor-0.6.5.tar.gz (2.2MB)
|████████████████████████████████| 2.2MB 3.3MB/s
ERROR: Command errored out with exit status 1:
command: 'c:\users\user\appdata\local\programs\python\python38\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\USER\\AppData\\Local\\Temp\\pip-install-mn6ozje2\\weditor\\setup.py'"'"'; __file__='"'"'C:\\Users\\USER\\AppData\\Local\\Temp\\pip-install-mn6ozje2\\weditor\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: C:\Users\USER\AppData\Local\Temp\pip-install-mn6ozje2\weditor\
Complete output (22 lines):
ERROR:root:Error parsing
Traceback (most recent call last):
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\core.py", line 111, in pbr
attrs = util.cfg_to_args(path, dist.script_args)
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\util.py", line 272, in cfg_to_args
pbr.hooks.setup_hook(config)
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\hooks\__init__.py", line 25, in setup_hook
metadata_config.run()
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\hooks\base.py", line 27, in run
self.hook()
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\hooks\metadata.py", line 25, in hook
self.config['version'] = packaging.get_version(
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\packaging.py", line 860, in get_version
version = _get_version_from_pkg_metadata(package_name)
File "c:\users\user\appdata\local\temp\pip-install-mn6ozje2\weditor\.eggs\pbr-5.9.0-py3.8.egg\pbr\packaging.py", line 828, in _get_version_from_pkg_metadata
pkg_metadata = email.message_from_file(pkg_metadata_file)
File "c:\users\user\appdata\local\programs\python\python38\lib\email\__init__.py", line 54, in message_from_file
return Parser(*args, **kws).parse(fp)
File "c:\users\user\appdata\local\programs\python\python38\lib\email\parser.py", line 53, in parse
data = fp.read(8192)
UnicodeDecodeError: 'cp949' codec can't decode byte 0xad in position 825: illegal multibyte sequence
error in setup command: Error parsing C:\Users\USER\AppData\Local\Temp\pip-install-mn6ozje2\weditor\setup.cfg: UnicodeDecodeError: 'cp949' codec can't decode byte 0xad in position 825: illegal multibyte sequence
해당 어플이 unicode를 고려해서 작성되지 않았기 때문입니다.
이런경우 수동으로 설치하도록 합니다.
https://github.com/alibaba/web-editor 여기 접속해서 소스를 받아서 cfg 파일을 수정해도 되지만, 여기에서는 github에 있는 최신 버전을 설치해도 해결됩니다.
해결 방법은 아래와 같습니다.
pip install git+https://github.com/alibaba/web-editor.git
실행방법
weditor 만 실행시키고 자동으로 브라우저를 띄우면 됩니다. 다만 IE는 지원하지 않기 때문에 크롬으로 http://localhost:17310/ 주소를 열어줍니다. 포트 번호는 weditor를 실행시키면 로그에 나오게 됩니다.
C:\Users>weditor
listening on http://192.168.0.18:17310
[I 220522 14:48:29 web:2239] 200 GET / (::1) 251.33ms
[I 220522 14:48:30 web:2239] 200 GET /cdn.jsdelivr.net/bootstrap/3.3.7/css/bootstrap.min.css (::1) 1176.85ms
[I 220522 14:48:30 web:2239] 200 GET /cdn.jsdelivr.net/npm/jstree@3.3.8/dist/themes/default/style.min.css (::1) 9.98ms
[I 220522 14:48:30 web:2239] 200 GET /static/libs/css/buttons.css (::1) 22.94ms
[I 220522 14:48:30 web:2239] 200 GET /static/libs/fontawesome/css/font-awesome.min.css (::1) 32.91ms
[I 220522 14:48:30 web:2239] 200 GET /cdn.jsdelivr.net/bootstrap.select/1.12.2/css/bootstrap-select.min.css (::1) 37.90ms
[I 220522 14:48:30 web:2239] 200 GET /static/style.css?v=9f60773ea7a93488c91ffc68ab65f5401ef20f496b28d3354df7f635fdb4b8b94e0e4dcc476e74d4964d687c774abdb0e83341777dc0b483f3a338a5cd8db027 (::1) 44.88ms
이런식으로도 해결이 안되는 패키지가 있을 수 있습니다. 즉, 개발자가 git에 수정된 소스를 업데이트 하지 않은 경우입니다. 그런 경우 git에서 소스를 직접 받아서 직접 소스 수정한 후 로컬에서 설치합니다.
수정 방법
아래와 같이 open할때 마지막에 encoding="utf-8" 이런식으로 넣어 주면 됩니다.
output = open("output.txt", "wt", encoding="utf-8")
설치 방법 링크 참조
https://swlock.blogspot.com/2022/04/python-github-creating-and-installing.html
python setup.py install