Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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错误:TypeError:getsockaddrarg:AF_INET地址必须是tuple,而不是int_Python_Python 3.x_Json Rpc - Fatal编程技术网

Python错误:TypeError:getsockaddrarg:AF_INET地址必须是tuple,而不是int

Python错误:TypeError:getsockaddrarg:AF_INET地址必须是tuple,而不是int,python,python-3.x,json-rpc,Python,Python 3.x,Json Rpc,当我启动我的程序时: import bitcoinrpc import csv # docs at https://github.com/massanchik/bitcoin-python3 # docs at https://docs.python.org/3.3/library/csv.html user = 'user' password = 'password' port = '44555' host='127.0.0.1' access = bitcoinrpc.connect

当我启动我的程序时:

import bitcoinrpc
import csv

# docs at https://github.com/massanchik/bitcoin-python3
# docs at https://docs.python.org/3.3/library/csv.html


user = 'user'
password = 'password'
port = '44555'
host='127.0.0.1'

access = bitcoinrpc.connect_to_remote(user, password, host, port)

print(access.getinfo())
我得到以下错误:

Traceback (most recent call last):
  File "electrum_to_clam.py", line 14, in <module>
    print(access.getinfo())
  File "/usr/local/lib/python3.4/dist-packages/bitcoinrpc/connection.py", line 133, in getinfo
    return ServerInfo(**self.proxy.getinfo())
  File "/usr/local/lib/python3.4/dist-packages/bitcoinrpc/proxy.py", line 116, in __call__
    resp = self._service_proxy._transport.request(postdata)
  File "/usr/local/lib/python3.4/dist-packages/bitcoinrpc/proxy.py", line 67, in request
    'Content-type': 'application/json'})
  File "/usr/lib/python3.4/http/client.py", line 1065, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.4/http/client.py", line 1103, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.4/http/client.py", line 1061, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.4/http/client.py", line 906, in _send_output
    self.send(msg)
  File "/usr/lib/python3.4/http/client.py", line 841, in send
    self.connect()
  File "/usr/lib/python3.4/http/client.py", line 819, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python3.4/socket.py", line 499, in create_connection
    sock.bind(source_address)
TypeError: getsockaddrarg: AF_INET address must be tuple, not int
回溯(最近一次呼叫最后一次):
文件“electrum_to_clam.py”,第14行,在
打印(access.getinfo())
文件“/usr/local/lib/python3.4/dist-packages/bitconrpc/connection.py”,第133行,在getinfo中
返回ServerInfo(**self.proxy.getinfo())
文件“/usr/local/lib/python3.4/dist packages/bitconrpc/proxy.py”,第116行,在调用中__
resp=自服务代理传输请求(postdata)
文件“/usr/local/lib/python3.4/dist packages/bitconrpc/proxy.py”,第67行,在请求中
'内容类型':'应用程序/json'})
请求中的文件“/usr/lib/python3.4/http/client.py”,第1065行
self.\u发送请求(方法、url、正文、标题)
文件“/usr/lib/python3.4/http/client.py”,第1103行,在发送请求中
self.endheaders(主体)
文件“/usr/lib/python3.4/http/client.py”,第1061行,在endheaders中
自发送输出(消息体)
文件“/usr/lib/python3.4/http/client.py”,第906行,在发送输出中
self.send(msg)
文件“/usr/lib/python3.4/http/client.py”,第841行,在send中
self.connect()
文件“/usr/lib/python3.4/http/client.py”,第819行,在connect中
self.timeout,self.source\u地址)
文件“/usr/lib/python3.4/socket.py”,第499行,在create_connection中
sock.bind(源地址)
TypeError:getsockaddrarg:AF_INET地址必须是元组,而不是int

原因可能是什么?我如何修复它?

您的端口必须是
int
,而不是
str
。使用:

port = 44555

Nhor刚刚写的,端口应该是int,如这里所提到的

元组就像(a,b,c…)。 参数应为元组,然后尝试以下操作:

access = bitcoinrpc.connect_to_remote((user, password, host, port))
或者以其他方式

con_data = (user, password, host, port)
access = bitcoinrpc.connect_to_remote(con_data)

我有同样的错误,使用变量端口作为int不能解决这个问题。Python3.4404位于github页面的链接上。
con_data = (user, password, host, port)
access = bitcoinrpc.connect_to_remote(con_data)