socket.gethostbyname(socket.gethostname())はOS X El Capitanでうまく機能しました。ただし、MacがmacOS Sierraに更新された後は動作しません。
ありがとう!
import socket
socket.gethostbyname(socket.gethostname())
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
socket.gethostbyname(socket.gethostname())
gaierror: [Errno 8] nodename nor servname provided, or not known
別の質問 に基づいたOPのコメントには答えがあり、/etc/hosts
、つまりecho 127.0.0.1 $HOSTNAME >> /etc/hosts
を編集する必要があります。
または、localhost
が必要であり、/etc/hosts
で定義されていると仮定して、socket.gethostbyname('localhost')
を使用できます。
同じ問題の本。コードを次のように変更します。
import socket
socket.gethostbyname("")
そして、それは今動作します。
私は同じ問題を抱えていました。 localhostにpingできませんでした。
ping localhost
>> error ping: cannot resolve localhost: Unknown Host
Hostsファイルを変更しました。
Sudo nano/etc/hosts
これをファイルに追加します(Tab/4スペースを使用して分離します>> 127.0.0.1 {tab/4spaces} localhost)。ファイルを保存し、ターミナルを再起動します。
127.0.0.1 localhost
すべてが正常に動作するかどうかを確認するには、ローカルホストにpingを実行してみてください
ping localhost