2015-11-04 861 views
4

當我啓動我的程序:Python的錯誤:類型錯誤:getsockaddrarg:AF_INET地址必須是元組,不是int

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 

可能是什麼原因和我該如何解決它?

+0

我也有同樣的錯誤,使用可變端口INT不能解決問題。 Python3.4 –

回答

1

您的端口必須是int而不是str。用途:

port = 44555 
+0

更改我的程序https://bpaste.net/show/29f1a5b89b02仍然是同樣的錯誤。 – user1540982

0

一個元組是像(A,B,C ...)提到的端口應該是int。 帕拉姆應該是一個元組,那就試試這個:

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

或以其他方式

con_data = (user, password, host, port) 
access = bitcoinrpc.connect_to_remote(con_data) 
相關問題