James Crowther added the comment:

Hi Ned, 
        Currently running 10.12.3. and output is as follows

Jamess-MacBook-pro:crowdrender_repository jamesmac$ python3.5
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> hostname = socket.gethostname()
>>> socket.getaddrinfo(hostname, None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File 
"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/socket.py", 
line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
>>> 

This is a commonly prescribed method of resolving the ip address of your own 
machine on a LAN, also if I try another machines hostname which is on the local 
network, I get the same result. 

As for the experiments you tried, these do work, but that is not what I want to 
use the socket library for, I want to query the IP address of hosts on the LAN, 
localhost is no use to me, its just the loop back address.

I have a windows machine on my network and its hostname is James-PC, if i do

socket.getaddrinfo(“James-PC”)

I get the same error. This works if I reboot the mac (the same one that is 
having the issues) into linux and run the exact same command. I get the 
expected output from getaddrinfo. 

So, how come this approach doesn’t work on my mac? Also why are others having 
the same issue with Yosemite and sierra, this is not just me that is reporting 
this odd behaviour too. I’ve seen it in other forums.

Kind Regards

James

> On 3 Mar 2017, at 11:41 am, Ned Deily <rep...@bugs.python.org> wrote:
> 
> 
> Ned Deily added the comment:
> 
> Sorry, I can't reproduce that behavior with my macOS 10.12, 10.11, or 10.10 
> systems if the hostname is a valid string including "localhost".  If the 
> string is empty or hostname is None, then I see Errno 8.
> 
> $ /usr/local/bin/python3.6
> Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13)
> [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import socket
>>>> hostname = 'python.org'
>>>> socket.getaddrinfo(hostname, None)
> [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 17, '', 
> ('23.253.135.79', 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 
> 1>, 6, '', ('23.253.135.79', 0)), (<AddressFamily.AF_INET6: 30>, 
> <SocketKind.SOCK_DGRAM: 2>, 17, '', ('2001:4802:7901::e60a:1375:0:6', 0, 0, 
> 0)), (<AddressFamily.AF_INET6: 30>, <SocketKind.SOCK_STREAM: 1>, 6, '', 
> ('2001:4802:7901::e60a:1375:0:6', 0, 0, 0))]
>>>> hostname = "localhost"
>>>> socket.getaddrinfo(hostname, None)
> [(<AddressFamily.AF_INET6: 30>, <SocketKind.SOCK_DGRAM: 2>, 17, '', ('::1', 
> 0, 0, 0)), (<AddressFamily.AF_INET6: 30>, <SocketKind.SOCK_STREAM: 1>, 6, '', 
> ('::1', 0, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_DGRAM: 2>, 
> 17, '', ('127.0.0.1', 0)), (<AddressFamily.AF_INET: 2>, 
> <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 0))]
>>>> hostname = ""
>>>> socket.getaddrinfo(hostname, None)
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File 
> "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/socket.py", 
> line 743, in getaddrinfo
>    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
> socket.gaierror: [Errno 8] nodename nor servname provided, or not known
> 
> Perhaps there is something different about your hostname configuration on 
> your Mac?  macOS has some unusual ways of configuring the hostname 
> resolutions.  I don't have time at the moment to investigate further.  But 
> Python's socket module interfaces tend to be very thin wrappers around the 
> underlying OS provided APIs.  Perhaps you could test with a small C program 
> that does the equivalent.
> 
> ----------
> 
> _______________________________________
> Python tracker <rep...@bugs.python.org>
> <http://bugs.python.org/issue29705>
> _______________________________________

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29705>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to