diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py
index 1a806ab206ea885f8ed216e491064424d6829e02..40bbe3cc3ca0ada2659a126345d49c54fcd74e42 100755
--- a/tools/run_tests/run_interop_tests.py
+++ b/tools/run_tests/run_interop_tests.py
@@ -298,11 +298,8 @@ class PythonLanguage:
 
   def client_cmd(self, args):
     return [
-        '.tox/py27/bin/python',
-        'setup.py',
-        'run_interop',
-        '--client',
-        '--args=\'{}\''.format(' '.join(args))
+        'tox -einterop_client --',
+        ' '.join(args)
     ]
 
   def cloud_to_prod_env(self):
@@ -310,11 +307,8 @@ class PythonLanguage:
 
   def server_cmd(self, args):
     return [
-        '.tox/py27/bin/python',
-        'setup.py',
-        'run_interop',
-        '--server',
-        '--args=\'{}\''.format(' '.join(args) + ' --use_tls=true')
+        'tox -einterop_server --',
+        ' '.join(args) + ' --use_tls=true'
     ]
 
   def global_env(self):
diff --git a/tox.ini b/tox.ini
index f89f34e1319073d2d110f4f0798ab36823477cb3..a655935219f9cd537132d4a72781b3dc5ca3c775 100644
--- a/tox.ini
+++ b/tox.ini
@@ -16,3 +16,11 @@ commands =
 deps =
     -rrequirements.txt
 passenv = *
+
+[testenv:interop_client]
+commands =
+    {envpython} setup.py run_interop --client --args='{posargs}'
+
+[testenv:interop_server]
+commands =
+    {envpython} setup.py run_interop --server --args='{posargs}'