amchii / tg-signer

telegram signer, 电报每日自动签到
BSD 3-Clause "New" or "Revised" License
55 stars 7 forks source link

运行文件后出现连接失败问题 #4

Closed tnt1223 closed 1 month ago

tnt1223 commented 1 month ago

终端运行tg-signer run指令,填写任务名以及对话后,出现以下报错: [WARNING] [pyrogram.connection.connection] 2024-08-27 20:35:52,835 connection.py 50 Unable to connect due to network issues: Connection timed out

代理工具是CLASH,能正常登录telegram桌面版。

amchii commented 1 month ago

tg-signer不会默认使用系统代理,想设置代理需要通过环境变量TG_PROXYhttps://github.com/amchii/tg-signer?tab=readme-ov-file#configure-proxyif-necessary

tnt1223 commented 1 month ago

tg-signer不会默认使用系统代理,想设置代理需要通过环境变量TG_PROXYhttps://github.com/amchii/tg-signer?tab=readme-ov-file#configure-proxyif-necessary

感谢回复。我已经在windows系统环境变量里设置了TG_PROXY=http://127.0.0.1:7890,仍然报错。 代理地址是如下获取的,在request等库里是可以正常跑的。

from urllib.request import getproxies

getproxies()
#{'http': 'http://127.0.0.1:7890/',
# 'https': 'http://127.0.0.1:7890/',
# 'ftp': 'http://127.0.0.1:7890/'}

image

tnt1223 commented 1 month ago

tg-signer不会默认使用系统代理,想设置代理需要通过环境变量TG_PROXYhttps://github.com/amchii/tg-signer?tab=readme-ov-file#configure-proxyif-necessary

powershell设置一下可以了,但是系统环境变量不知道为什么读取不了,我用os.environ.get获取也是空值。 $env:TG_PROXY="http://127.0.0.1:7890"

amchii commented 1 month ago

看图你设置的是用户变量,另外设置完变量需要重新打开终端才会生效,如果你使用管理员权限打开的话,用户变量还是不会生效的。你也可以通过系统变量设置TG_PROXY,这样会对所有用户生效。

tnt1223 commented 1 month ago

看图你设置的是用户变量,另外设置完变量需要重新打开终端才会生效,如果你使用管理员权限打开的话,用户变量还是不会生效的。你也可以通过系统变量设置TG_PROXY,这样会对所有用户生效。

os.environ.get()方法对Path,TEMP,TMP等其他变量都是生效的,返回的值也对得上。另外我是在vscode的终端下运行的命令,应该和管理员权限无关?

amchii commented 1 month ago

os.environ.get没关系,和Python解释器继承的环境变量有关,也即解释器的父进程。你可以了解下环境变量的相关知识。

tnt1223 commented 1 month ago

os.environ.get没关系,和Python解释器继承的环境变量有关,也即解释器的父进程。你可以了解下环境变量的相关知识。

我重启电脑了,os.environ.get能找到值了,我之前查到的是重启下终端或者vscode就行,想偷个懒,没想到还是得重启电脑。父进程指的是powershell或cmd吗?我在重启前在powershell运行echo $env:TG_PROXY,返回也是空值。

amchii commented 1 month ago

你在某个cmd进程下启动python,那该python进程的父进程就是cmd。Windows的环境变量比Linux复杂些,可以自行了解。