Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python命令转义散列(#)_Python_Redis_Celery_Supervisord_Kombu - Fatal编程技术网

python命令转义散列(#)

python命令转义散列(#),python,redis,celery,supervisord,kombu,Python,Redis,Celery,Supervisord,Kombu,获得了一个python应用程序,使用芹菜配置了redis后端,我正在使用supervisor启动服务。问题是,我的Redis密码中有一个散列#字符,因此我得到一个错误,如下所示 Traceback (most recent call last): File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/worker/__init__.py", line 206, in start self.blueprint.start(s

获得了一个python应用程序,使用芹菜配置了redis后端,我正在使用supervisor启动服务。问题是,我的Redis密码中有一个散列
#
字符,因此我得到一个错误,如下所示

Traceback (most recent call last):
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/worker/__init__.py", line 206, in start
self.blueprint.start(self)
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/bootsteps.py", line 119, in start
self.on_start()
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/apps/worker.py", line 169, in on_start
string(self.colored.cyan(' \n', self.startup_info())),
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/apps/worker.py", line 230, in startup_info
results=self.app.backend.as_uri(),
File "/home/apps/venv/my_app/lib/python3.5/site-packages/kombu/utils/__init__.py", line 325, in __get__
value = obj.__dict__[self.__name__] = self.__get(obj)
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/app/base.py", line 626, in backend
return self._get_backend()
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/app/base.py", line 445, in _get_backend
return backend(app=self, url=url)
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/backends/redis.py", line 92, in __init__
self.connparams = self._params_from_url(url, self.connparams)
File "/home/apps/venv/my_app/lib/python3.5/site-packages/celery/backends/redis.py", line 109, in _params_from_url
scheme, host, port, user, password, path, query = _parse_url(url)
File "/home/apps/venv/my_app/lib/python3.5/site-packages/kombu/utils/url.py", line 24, in _parse_url
return (scheme, unquote(parts.hostname or '') or None, parts.port,
File "/usr/lib/python3.5/urllib/parse.py", line 158, in port
port = int(port, 10)
ValueError: invalid literal for int() with base 10: 'XdrB4'
[2017-01-06 10:05:03,224: ERROR/MainProcess] Unrecoverable error: ValueError("invalid literal for int() with base 10: 'XdrB4'",)
问题是,
XdrB4
是Redis密码的一部分。紧跟在4后面的字符是
#
。当我删除散列时,安装程序就开始工作了。我不得不完全更改整个密码,但我想知道是什么原因造成的

Redis连接设置

redis_host = os.environ["REDIS_HOST"]
redis_name = os.environ["REDIS_DATABASE"]
redis_pass = os.environ["REDIS_PASS"]
redis_port = int(os.environ["REDIS_PORT"])
Supervisord.conf

environment =
        REDIS_HOST="redis-host-ip",
        REDIS_DATABASE="0",
        REDIS_PASS="XdrB4#XGDc******",
        REDIS_PORT="6379"
我应该逃过这一劫吗?如果是,我用什么字符来转义它?我试过反斜杠、双哈希等,但都没用

应用程序版本:

python3.5
芹菜==3.1.23
kombu==3.0.35

redis==2.10.5

您是否尝试过百分比编码()?我已通过移动设备检查了该链接。这就是你用百分号逃避冒犯角色的地方吗?如果是的话,那么是的,我试过了。你试过百分比编码吗?我已经通过手机检查过这个链接。这就是你用百分号逃避冒犯角色的地方吗?如果是,那么是的,我试过了