背景
有个项目,django版本是2.2.6,python从python2.7升级到python3.6。
在安装依赖包时,会报错
这种:
error in anyjson setup command: use_2to3 is invalid.
这种:
Preparing metadata (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'D:\03-canway\01-code\disable\venv\Scripts\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\19768\\AppData\\Loca
l\\Temp\\pip-install-vbp78ffq\\anyjson_d0fa28f5ad4a42e28d84f9ca7f37667a\\setup.py'"'"'; __file__='"'"'C:\\Users\\19768\\AppData\\Local\\Temp\\pip-install-vbp78ffq\
\anyjson_d0fa28f5ad4a42e28d84f9ca7f37667a\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'fr
om setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\19768\AppData\Local\Temp\pip-pip-egg-info-0vzg1t4a'
cwd: C:\Users\19768\AppData\Local\Temp\pip-install-vbp78ffq\anyjson_d0fa28f5ad4a42e28d84f9ca7f37667a\
Complete output (8 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\19768\AppData\Local\Temp\pip-install-vbp78ffq\anyjson_d0fa28f5ad4a42e28d84f9ca7f37667a\setup.py", line 3, in <module>
import anyjson
File "C:\Users\19768\AppData\Local\Temp\pip-install-vbp78ffq\anyjson_d0fa28f5ad4a42e28d84f9ca7f37667a\anyjson.py", line 85
except self._encode_error, exc:
^
SyntaxError: invalid syntax
---------------------------------------
解决办法
1. 降低setuptools版本,pip install setuptools==50.3.2
2. 先卸载anyjson(很重要),然后从新pip install anyjson==0.3.3
在windows环境,如果直接安装anyjson不成功,就先uninstall anyjson,再安装。
备注
如果你安装的时候,anyjson没有报错,但是在启动项目时,anyjson报语法错误,那也可以按照这个步骤试试。