diff --git a/tests.py b/tests.py
index 253cd6f..add5c06 100644
--- a/tests.py
+++ b/tests.py
@@ -91,13 +91,13 @@ class BaseTest(TestCase):
self.assertIsInstance(result, dict)
self.assertTrue(bool(result))
if result:
- self.assertIn(pack, [k.lower() for k in result.keys()])
+ self.assertIn(pack, [k.split(' (')[0].lower() for k in result.keys()])
def test_search_names(self):
pack = packages_for_tests[0].lower()
result = self.virtual_env_obj.search_names(pack)
self.assertIsInstance(result, list)
- self.assertIn(pack, [k.lower() for k in result])
+ self.assertIn(pack, [k.split(' (')[0].lower() for k in result])
def tearDown(self):
if os.path.exists(self.env_path) and self.__class__.env_path is None:
diff --git a/virtualenvapi/manage.py b/virtualenvapi/manage.py
index d834be7..53e00ac 100644
--- a/virtualenvapi/manage.py
+++ b/virtualenvapi/manage.py
@@ -44,6 +44,16 @@ class VirtualEnvironment(object):
return os.path.join('bin', 'pip')
@property
+ def pip_version(self):
+ """Version of installed pip."""
+ if not self._pip_exists:
+ return None
+ if not hasattr(self, '_pip_version'):
+ string_version = self._execute([self._pip_rpath, '-V']).split()[1]
+ self._pip_version = tuple([int(n) for n in string_version.split('.')])
+ return self._pip_version
+
+ @property
def root(self):
"""The root directory that this virtual environment exists in."""
return os.path.split(self.path)[0]
@@ -270,10 +280,12 @@ class VirtualEnvironment(object):
def installed_packages(self):
"""
List of all packages that are installed in this environment in
- the format [(name, ver), ..].
+ the format [(name, ver), ..]. wheel is excluded from freeze output
+ in pip version >= 8.1.0 if --all option is not specified.
"""
+ freeze_options = ['-l', '--all'] if self.pip_version >= (8, 1, 0) else ['-l']
return list(map(split_package_name, filter(None, self._execute(
- [self._pip_rpath, 'freeze', '-l']).split(linesep))))
+ [self._pip_rpath, 'freeze'] + freeze_options).split(linesep))))
@property
def installed_package_names(self):