missing `bypy/res/auth.json` when using `setup.py install`
Closed this issue · 9 comments
loynoir commented
$ bypy list
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.10/site-packages/bypy/res/auth.json
package source code
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=bypy-git
$ docker run -v $PWD/bypy:/app -w /app -it python bash
$ PYTHONIOENCODING="utf-8" python setup.py install --root=pkgdir --optimize=1
$ ls pkgdir/usr/local/lib/python3.10/site-packages/bypy/res/auth.json
No such file or directory
choyy commented
刚安装,同错误
$ bypy info
Traceback (most recent call last):
File "/usr/bin/bypy", line 33, in <module>
sys.exit(load_entry_point('bypy==1.7.12', 'console_scripts', 'bypy')())
File "/usr/lib/python3.10/site-packages/bypy/bypy.py", line 3815, in main
by = ByPy(**bypyopt)
File "/usr/lib/python3.10/site-packages/bypy/bypy.py", line 325, in __init__
self.__load_auth_server_list()
File "/usr/lib/python3.10/site-packages/bypy/bypy.py", line 1001, in __load_auth_server_list
j = json.loads(pkgutil.get_data(__name__, 'res/auth.json'))
File "/usr/lib/python3.10/pkgutil.py", line 639, in get_data
return loader.get_data(resource_name)
File "<frozen importlib._bootstrap_external>", line 1073, in get_data
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.10/site-packages/bypy/res/auth.json'
houtianze commented
谢谢反馈。
最新版本?奇怪为什么最后/usr/lib/python3.10/site-packages/bypy/res/auth.json
这个文件不存在。我刚用python3.9 virtualenv试了一下pip install
是没有问题的。
choyy commented
@houtianze 不过我不是pip装的,我好像是从archlinuxcn源安装的,可能是打包问题
houtianze commented
MrAru commented
Clone master branch 之后新建 venv 环境并 pip install .
报错
FileNotFoundError: [Errno 2] No such file or directory: '/home/aru/Temporary/bypy/venv/lib/python3.10/site-packages/bypy/res/auth.json'
但是该文件在当前路径下存在
> fd auth
baidudoc/baidu_oauth_rest_api_list.pdf
baidudoc/baidu_oauth_rest_overview.pdf
bypy/res/auth.json
手动复制 auth.json 至上述位置后解决问题。怀疑是 setup.py 或其他打包脚本内未正确处理或执行复制文件这步?
houtianze commented
谢谢提供信息。我自己试了一下,用venv
建立虚拟环境source后运行pip install .
,res/auth.json
是存在的。。
ls /tmp/venv39/lib/python3.9/site-packages/bypy/res
__init__.py __pycache__ auth.json
loynoir commented
@houtianze 3.9
3.10
petronny commented
Line 55 in d7ffb48
这里没有指定 bypy/res/*.json
(未测试),所以 setup.py 的时候不认识。
参考:https://stackoverflow.com/questions/50879668/python-setup-py-some-files-are-missing
houtianze commented
本地试了一下./setup.py install
后运行bypy ls
没有问题啊。