laixintao / iredis

Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
https://iredis.xbin.io
BSD 3-Clause "New" or "Revised" License
2.52k stars 102 forks source link

TypeError: Connection.__init__() got an unexpected keyword argument 'client_name' #450

Closed Karmenzind closed 1 year ago

Karmenzind commented 1 year ago

iredis version: 1.12.0 OS: Linux version 5.19.4-arch1-1 (linux@archlinux) (gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0) #1 SMP PREEMPT_DYNAMIC Thu, 25 Aug 2022 17:31:12 +0000

iredis --url 'redis://my_ip:6379/2'
Traceback (most recent call last):
  File "/usr/bin/iredis", line 33, in <module>
    sys.exit(load_entry_point('iredis==1.12.0', 'console_scripts', 'iredis')())
  File "/usr/lib/python3.10/site-packages/iredis/entry.py", line 426, in main
    client = create_client(ctx.params)
  File "/usr/lib/python3.10/site-packages/iredis/entry.py", line 384, in create_client
    return Client(
  File "/usr/lib/python3.10/site-packages/iredis/client.py", line 77, in __init__
    self.build_connection()
  File "/usr/lib/python3.10/site-packages/iredis/client.py", line 103, in build_connection
    self.connection = self.create_connection(
  File "/usr/lib/python3.10/site-packages/iredis/client.py", line 156, in create_connection
    return connection_class(**connection_kwargs)
TypeError: Connection.__init__() got an unexpected keyword argument 'client_name'                                                                  /0.2s
laixintao commented 1 year ago

Hi can you list your pip list for me?thanks

Karmenzind commented 1 year ago

Sure.

atomicwrites==1.4.1
attrs==22.1.0
autoflake==1.5.3
beautifulsoup4==4.11.1
brotlipy==0.7.0
bs4==0.0.1
certifi @ file:///opt/conda/conda-bld/certifi_1655968806487/work/certifi
cffi @ file:///opt/conda/conda-bld/cffi_1642701102775/work
chardet==3.0.4
charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
colorama @ file:///tmp/build/80754af9/colorama_1607707115595/work
conda==4.13.0
conda-content-trust @ file:///tmp/build/80754af9/conda-content-trust_1617045594566/work
conda-libmamba-solver @ file:///opt/conda/conda-bld/conda-libmamba-solver_1656538138046/work
conda-package-handling @ file:///tmp/build/80754af9/conda-package-handling_1649105784853/work
cryptography @ file:///tmp/build/80754af9/cryptography_1639414572950/work
greenlet==1.1.2
idna @ file:///tmp/build/80754af9/idna_1637925883363/work
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648544546694/work
libmambapy @ file:///opt/conda/conda-bld/libmambapy-split_1654273890187/work/libmambapy
lxml==4.9.1
more-itertools==8.14.0
pluggy==1.0.0
py==1.11.0
pycosat==0.6.3
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
pyflakes==2.5.0
pylibmc==1.6.2
pymongo==3.7.2
pyOpenSSL @ file:///opt/conda/conda-bld/pyopenssl_1643788558760/work
PySocks @ file:///tmp/build/80754af9/pysocks_1605305812635/work
pytest-django==3.4.5
pytz==2022.2.1
requests @ file:///opt/conda/conda-bld/requests_1641824580448/work
robotframework==5.0.1
ruamel-yaml-conda @ file:///tmp/build/80754af9/ruamel_yaml_1616016711199/work
six @ file:///tmp/build/80754af9/six_1644875935023/work
soupsieve==2.3.2.post1
sqlparse==0.4.2
toml==0.10.2
tqdm @ file:///opt/conda/conda-bld/tqdm_1647339053476/work
urllib3 @ file:///opt/conda/conda-bld/urllib3_1643638302206/work
zipp @ file:///opt/conda/conda-bld/zipp_1652341764480/work
Karmenzind commented 1 year ago

I also tried in system python env:

aiofiles==0.5.0
aiohttp==3.8.1
aioinflux==0.9.0
aiosignal==1.2.0
amqp==2.2.2
appdirs==1.4.4
arandr==0.1.10
aredis==1.1.8
arrow==0.15.5
asgiref==3.5.2
async-timeout==4.0.2
autocommand==2.2.1
autopep8==1.7.0
backports.csv==1.0.7
bcrypt==3.2.2
beautifulsoup4==4.11.1
billiard==3.5.0.5
blessings==1.7
bpython==0.19
bs4==0.0.1
btrfsutil==5.19
CacheControl==0.12.6
celery==4.1.0
certifi==2022.6.15
cffi==1.15.1
chardet==3.0.4
charset-normalizer==2.1.1
ciso8601==2.2.0
cli-helpers==2.2.1
click==8.1.3
colorama==0.4.5
commonmark==0.9.1
configobj==5.1.0.dev0
constantly==15.1.0
coreapi==2.3.3
coreschema==0.0.4
cryptography==37.0.4
curtsies==0.3.10
cwcwidth==0.1.6
Cython==0.29.32
DBUtils==1.2
decorator==4.1.2
defusedxml==0.7.1
Deprecated==1.2.13
distlib==0.3.6
distro==1.7.0
Django==3.2.15
django-cas-ng==3.5.8
django-extensions==2.2.9
django-six==1.0.4
dnspython==2.2.1
docopt==0.6.2
docutils==0.19
entrypoints==0.4
flake8==4.0.1
Flask==2.2.2
frozenlist==1.3.1
future==0.18.2
gevent==21.12.0
greenlet==1.1.2
gunicorn==20.1.0
hikpi-labhiktest==1.0.5.8
httpie==3.2.1
hyperlink==17.3.1
idna==2.6
impacket==0.9.24
importlib-metadata==4.8.2
importlib-resources==5.9.0
incremental==17.5.0
inflect==6.0.0
inflection==0.5.1
iotop==0.6
ipython-genutils==0.2.0
iredis==1.12.0
isort==5.10.1
itsdangerous==2.1.2
jaraco.context==4.1.2
jaraco.functools==3.5.1
jaraco.text==3.9.1
jdcal==1.4.1
jedi==0.11.0
jeepney==0.8.0
keyring==23.4.0
keyutils==0.6
kombu==4.1.0
ldap3==2.9.1
ldapdomaindump==0.9.3
lxml==4.6.4
MarkupSafe==2.0.1
marshmallow==3.3.0
mccabe==0.7.0
meld3==2.0.1
mistune==2.0.4
monotonic==1.6
more-itertools==8.12.0
motor==2.1.0
msgpack==1.0.3
multidict==6.0.2
mycli==1.25.0
mysqlclient==2.1.1
nspektr==0.4.0
openapi-codec==1.3.2
OpenCC==1.1.4
openpyxl==2.2.3
ordered-set==4.0.2
packaging==21.3
paramiko==2.7.2
parso==0.1.0
pendulum==2.1.2
pep517==0.12.0
pexpect==4.8.0
pgcli==3.4.1
pgspecial==1.13.1
pickleshare==0.7.4
pika==0.13.0
platformdirs==2.5.2
pluggy==1.0.0
plumbum==1.7.1
ply==3.11
prompt-toolkit==3.0.30
psycopg2==2.9.3
psycopg2-binary==2.8.6
ptyprocess==0.7.0
pure-python-adb==0.3.0.dev0
py==1.5.2
pyaes==1.6.1
pyasn1==0.4.8
pycairo==1.21.0
pycodestyle==2.9.1
pycparser==2.21
pycryptodomex==3.15.0
pydantic==1.9.2
pyflakes==2.5.0
Pygments==2.13.0
PyGObject==3.42.2
pymemcache==3.5.2
pymongo==3.12.3
PyMySQL==1.0.2
PyNaCl==1.5.0
pynvim==0.4.3
pyOpenSSL==22.0.0
pyparsing==3.0.6
pyperclip==1.8.2
PySocks==1.7.1
pytest==3.2.5
python-cas==1.2.0
python-dateutil==2.8.2
pytz==2022.2.1
pytzdata==2020.1
pyxdg==0.28
PyYAML==6.0
ranger-fm==1.9.3
redis==2.10.6
redis-py-cluster==1.3.6
request==1.0.117
requests==2.28.1
requests-toolbelt==0.9.1
resolvelib==0.8.1
rich @ file:///build/python-rich/src/rich-12.5.1/dist/rich-12.5.0-py3-none-any.whl
robotframework==4.1.2
rpyc==3.4.4
ruamel.yaml==0.17.17
schedule==1.1.0
screen==1.0.1
SecretStorage==3.3.2
setproctitle==1.3.1
simplegeneric==0.8.1
simplejson==3.13.2
six==1.11.0
soupsieve==2.3.2.post1
sqlparse==0.4.2
supervisor==4.2.4
tabulate==0.8.10
tenacity==8.0.1
terminaltables==3.1.0
toml==0.10.2
tomli==2.0.1
tornado==6.0.4
traitlets==4.3.2
treelib==1.5.5
trove-classifiers==2022.8.24
typing_extensions==4.3.0
udiskie==2.4.2
uritemplate==3.0.0
urllib3==1.26.12
validate==5.1.0.dev0
validate-pyproject==0.9
vine==1.1.4
w3lib==1.22.0
wcwidth==0.1.7
webargs==6.0.0b2
webencodings==0.5.1
Werkzeug==2.2.2
wrapt==1.14.1
xlrd==0.9.2
xlutils==2.0.0
xlwt==1.3.0
yarl==1.8.1
zipp==3.8.1
zope.event==4.5.0
zope.interface==5.4.0
Karmenzind commented 1 year ago

image

redis-py 2.10版本的Connection没有client_name参数 image

我用root通过包管理器安装了iredis ,/usr/lib/python3.10/site-packages/下的redis版本是4.3,是没有问题的 但我之前在个人用户下安装过redis 2.10 image .local的优先级更高,所以导致了这个报错,移除.local下的redis-py后已经可以正常使用iredis了

我这情况比较少见,但还是建议兼容一下吧。或者优化下报错提示。

laixintao commented 1 year ago

https://github.com/laixintao/iredis/blob/380b57068d5b06ed12f5e74e96146d905cfcc174/pyproject.toml#L35

我看了下已经锁定 redis-py 的版本了,你这种情况感觉是先安装了 iredis 然后又安装了 redis-py 更低的版本才导致的,这种问题不打算在 iredis 做处理。