diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index ffd68db..f1ebcbf 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -347,7 +347,7 @@
                 opt_name = opt[0]
                 if opt_name[-1] == "=":
                     opt_name = opt_name[0:-1]
-                if self.negative_opt.has_key(opt_name):
+                if opt_name in self.negative_opt:
                     opt_name = longopt_xlate(self.negative_opt[opt_name])
                     val = not getattr(self, opt_name)
                 else:
diff --git a/Lib/distutils/command/register.py b/Lib/distutils/command/register.py
index 91081dd..d123d32 100644
--- a/Lib/distutils/command/register.py
+++ b/Lib/distutils/command/register.py
@@ -125,7 +125,7 @@
         # see if we can short-cut and get the username/password from the
         # config
         config = None
-        if os.environ.has_key('HOME'):
+        if 'HOME' in os.environ:
             rc = os.path.join(os.environ['HOME'], '.pypirc')
             if os.path.exists(rc):
                 print('Using PyPI login from %s'%rc)
@@ -168,7 +168,7 @@
             print('Server response (%s): %s'%(code, result))
 
             # possibly save the login
-            if os.environ.has_key('HOME') and config is None and code == 200:
+            if 'HOME' in os.environ and config is None and code == 200:
                 rc = os.path.join(os.environ['HOME'], '.pypirc')
                 print('I can store your PyPI login so future submissions will be faster.')
                 print('(the login will be stored in %s)'%rc)
diff --git a/Lib/distutils/command/upload.py b/Lib/distutils/command/upload.py
index b49acd1..34b6692 100644
--- a/Lib/distutils/command/upload.py
+++ b/Lib/distutils/command/upload.py
@@ -45,7 +45,7 @@
             raise DistutilsOptionError(
                 "Must use --sign for --identity to have meaning"
             )
-        if os.environ.has_key('HOME'):
+        if 'HOME' in os.environ:
             rc = os.path.join(os.environ['HOME'], '.pypirc')
             if os.path.exists(rc):
                 self.announce('Using PyPI login from %s' % rc)
