diff --git a/bin/spack b/bin/spack
index 127a85f6fe48b0e29857954b8c7173909f3ddf8e..f587e206db71784a07291a4639e439d2204f9116 100755
--- a/bin/spack
+++ b/bin/spack
@@ -38,6 +38,8 @@ SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
 # Allow spack libs to be imported in our scripts
 SPACK_LIB_PATH = os.path.join(SPACK_PREFIX, "lib", "spack")
 sys.path.insert(0, SPACK_LIB_PATH)
+SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
+sys.path.insert(0, SPACK_EXTERNAL_LIBS)
 
 # If there is no working directory, use the spack prefix.
 try:
diff --git a/lib/spack/external/functools.py b/lib/spack/external/functools_backport.py
similarity index 100%
rename from lib/spack/external/functools.py
rename to lib/spack/external/functools_backport.py
diff --git a/lib/spack/external/ordereddict.py b/lib/spack/external/ordereddict_backport.py
similarity index 100%
rename from lib/spack/external/ordereddict.py
rename to lib/spack/external/ordereddict_backport.py
diff --git a/lib/spack/spack/cmd/activate.py b/lib/spack/spack/cmd/activate.py
index 1004f1f8e6ebfefca4163ca191a3af7f3548f269..1e44948d247a7992c7bc8a235e5f1ce3451c0df1 100644
--- a/lib/spack/spack/cmd/activate.py
+++ b/lib/spack/spack/cmd/activate.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import llnl.util.tty as tty
 import spack
 import spack.cmd
diff --git a/lib/spack/spack/cmd/checksum.py b/lib/spack/spack/cmd/checksum.py
index 8a448450c2a61ef729734ded75e6e62adfcb02e4..c940d57781191c395de4b7c9328c86f0aeec9550 100644
--- a/lib/spack/spack/cmd/checksum.py
+++ b/lib/spack/spack/cmd/checksum.py
@@ -24,7 +24,7 @@
 ##############################################################################
 import os
 import re
-from external import argparse
+import argparse
 import hashlib
 from pprint import pprint
 from subprocess import CalledProcessError
diff --git a/lib/spack/spack/cmd/clean.py b/lib/spack/spack/cmd/clean.py
index c20136ebe5da34c2861de83db9d9e520812e28ee..e303b3d6342eec9b6458398e4e2be56a441fab53 100644
--- a/lib/spack/spack/cmd/clean.py
+++ b/lib/spack/spack/cmd/clean.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 
diff --git a/lib/spack/spack/cmd/compiler.py b/lib/spack/spack/cmd/compiler.py
index 2a64dc914ed53cf65c12e879057f3ab3cb020579..3173d11070910d35d024b3f3c647419bc879eef8 100644
--- a/lib/spack/spack/cmd/compiler.py
+++ b/lib/spack/spack/cmd/compiler.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 from llnl.util.tty.color import colorize
diff --git a/lib/spack/spack/cmd/config.py b/lib/spack/spack/cmd/config.py
index 8c18f88b648179ba2a9a24fc62ebd2c79bb1df5b..78972a8be0ce3721c2630fa9b8cc378acff694ce 100644
--- a/lib/spack/spack/cmd/config.py
+++ b/lib/spack/spack/cmd/config.py
@@ -23,7 +23,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 import sys
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py
index 46e6bcec14a9a8d5e208919bae7c9d7e7a1297b5..05cf170e392f7d24afcff5a5692579f29cb08e01 100644
--- a/lib/spack/spack/cmd/create.py
+++ b/lib/spack/spack/cmd/create.py
@@ -27,7 +27,7 @@
 import hashlib
 import re
 
-from external.ordereddict import OrderedDict
+from ordereddict_backport import OrderedDict
 import llnl.util.tty as tty
 from llnl.util.filesystem import mkdirp
 
diff --git a/lib/spack/spack/cmd/deactivate.py b/lib/spack/spack/cmd/deactivate.py
index 1f0e303cdf2813fda794ec06b64d40460b03c678..5a2b353fa2d823712f4a2e4241efba151525822d 100644
--- a/lib/spack/spack/cmd/deactivate.py
+++ b/lib/spack/spack/cmd/deactivate.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import llnl.util.tty as tty
 
 import spack
diff --git a/lib/spack/spack/cmd/dependents.py b/lib/spack/spack/cmd/dependents.py
index 652f243b98809e0f81952b443c9a7a24c135bd69..129a4eeb237037d009760f5976465c292fc06bba 100644
--- a/lib/spack/spack/cmd/dependents.py
+++ b/lib/spack/spack/cmd/dependents.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 
diff --git a/lib/spack/spack/cmd/diy.py b/lib/spack/spack/cmd/diy.py
index 9f8a6d39db3c6b85cb9952959039a1cf3c81a7fc..d6bd1fbb79a3fa944343cfaa92ce44c30d5003f3 100644
--- a/lib/spack/spack/cmd/diy.py
+++ b/lib/spack/spack/cmd/diy.py
@@ -24,7 +24,7 @@
 ##############################################################################
 import sys
 import os
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 
diff --git a/lib/spack/spack/cmd/env.py b/lib/spack/spack/cmd/env.py
index bde76b5daf699551ab375180c71c0d735de2da4c..ae8e95491ed304e569351d250e846139579eb145 100644
--- a/lib/spack/spack/cmd/env.py
+++ b/lib/spack/spack/cmd/env.py
@@ -23,7 +23,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 import os
-from external import argparse
+import argparse
 import llnl.util.tty as tty
 import spack.cmd
 import spack.build_environment as build_env
diff --git a/lib/spack/spack/cmd/extensions.py b/lib/spack/spack/cmd/extensions.py
index 7cadc424b000827d6997c1d52c4825db7e55e8ff..86dec7b9e7f45d0d723889d4c0d240791969ba1a 100644
--- a/lib/spack/spack/cmd/extensions.py
+++ b/lib/spack/spack/cmd/extensions.py
@@ -23,7 +23,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 import sys
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 from llnl.util.tty.colify import colify
diff --git a/lib/spack/spack/cmd/fetch.py b/lib/spack/spack/cmd/fetch.py
index 0ccebd9486f66e90c0d42eb89129c786458623be..1dd8703daf23a004c513bad91b41cadb6578612d 100644
--- a/lib/spack/spack/cmd/fetch.py
+++ b/lib/spack/spack/cmd/fetch.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import spack
 import spack.cmd
diff --git a/lib/spack/spack/cmd/find.py b/lib/spack/spack/cmd/find.py
index 0b0dd6ef6fc20cc029366f1cdb8f02fbe01acc2e..05fa620c592ba90ef84ec2b409ab58b60904573e 100644
--- a/lib/spack/spack/cmd/find.py
+++ b/lib/spack/spack/cmd/find.py
@@ -25,7 +25,7 @@
 import sys
 import collections
 import itertools
-from external import argparse
+import argparse
 from StringIO import StringIO
 
 import llnl.util.tty as tty
diff --git a/lib/spack/spack/cmd/graph.py b/lib/spack/spack/cmd/graph.py
index cb93a1b5433fd262141323a455c2d1b0e5bbcf86..586a02c53b38ca7703b6c2df0c0f14c0a06e5565 100644
--- a/lib/spack/spack/cmd/graph.py
+++ b/lib/spack/spack/cmd/graph.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import spack
 import spack.cmd
diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py
index 836a6260c87561006505f7cf73909569df1a4192..e4338e222f6810acca113906e3b36851ed23af02 100644
--- a/lib/spack/spack/cmd/install.py
+++ b/lib/spack/spack/cmd/install.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 
diff --git a/lib/spack/spack/cmd/list.py b/lib/spack/spack/cmd/list.py
index 1f0978a18ed355283da34780370e1b4ff4a9bba6..0b55d9fb7bcab9d5a46da92358f9894dda3e9111 100644
--- a/lib/spack/spack/cmd/list.py
+++ b/lib/spack/spack/cmd/list.py
@@ -24,7 +24,7 @@
 ##############################################################################
 import sys
 import llnl.util.tty as tty
-from external import argparse
+import argparse
 from llnl.util.tty.colify import colify
 
 import spack
diff --git a/lib/spack/spack/cmd/load.py b/lib/spack/spack/cmd/load.py
index 06574d9725d3da5fff9c7463114475067171929d..5bc6b15784c6c537c5465f641fdb1aff6d1dca8a 100644
--- a/lib/spack/spack/cmd/load.py
+++ b/lib/spack/spack/cmd/load.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import spack.modules
 
 description ="Add package to environment using modules."
diff --git a/lib/spack/spack/cmd/location.py b/lib/spack/spack/cmd/location.py
index e8e9c3f277849e0a66bb6e285913cd7b2a56aa76..6fbab9782faaea8a05c03b56e7f72b5af10bbc60 100644
--- a/lib/spack/spack/cmd/location.py
+++ b/lib/spack/spack/cmd/location.py
@@ -24,7 +24,7 @@
 ##############################################################################
 import os
 import sys
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 from llnl.util.filesystem import join_path
diff --git a/lib/spack/spack/cmd/md5.py b/lib/spack/spack/cmd/md5.py
index dfa1be412bfc343f08326c126ecac9425d870478..8be0a7ad4c8d704f2738f3ee788018a9dc3687ca 100644
--- a/lib/spack/spack/cmd/md5.py
+++ b/lib/spack/spack/cmd/md5.py
@@ -24,7 +24,7 @@
 ##############################################################################
 import os
 import hashlib
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 from llnl.util.filesystem import *
diff --git a/lib/spack/spack/cmd/mirror.py b/lib/spack/spack/cmd/mirror.py
index 2356170a9acf4b1cf9b6d5bcc555caba7c3c98f3..4599944f1c2e68fae61f649dfc770091ceacc365 100644
--- a/lib/spack/spack/cmd/mirror.py
+++ b/lib/spack/spack/cmd/mirror.py
@@ -26,7 +26,7 @@
 import sys
 from datetime import datetime
 
-from external import argparse
+import argparse
 import llnl.util.tty as tty
 from llnl.util.tty.colify import colify
 
diff --git a/lib/spack/spack/cmd/module.py b/lib/spack/spack/cmd/module.py
index 654b0cb2fa77e91a547090a5ba87da67858ea3e7..c3daed64022caae5ea4108804016e79b7052b596 100644
--- a/lib/spack/spack/cmd/module.py
+++ b/lib/spack/spack/cmd/module.py
@@ -25,7 +25,7 @@
 import sys
 import os
 import shutil
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 from llnl.util.lang import partition_list
diff --git a/lib/spack/spack/cmd/patch.py b/lib/spack/spack/cmd/patch.py
index a6556c4828c14afe32be2f54f19034313934d5ef..2356583b07466f681223f7ae3b38e6988d00e1c5 100644
--- a/lib/spack/spack/cmd/patch.py
+++ b/lib/spack/spack/cmd/patch.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import spack.cmd
 import spack
diff --git a/lib/spack/spack/cmd/pkg.py b/lib/spack/spack/cmd/pkg.py
index 055b7c2062367a51d357d9d68d11e369139789df..ae5efd9d9c447ebc0dd3060dce71ad6c02d6ca45 100644
--- a/lib/spack/spack/cmd/pkg.py
+++ b/lib/spack/spack/cmd/pkg.py
@@ -24,7 +24,7 @@
 ##############################################################################
 import os
 
-from external import argparse
+import argparse
 import llnl.util.tty as tty
 from llnl.util.tty.colify import colify
 
diff --git a/lib/spack/spack/cmd/providers.py b/lib/spack/spack/cmd/providers.py
index 2bcdc9fba2aebf2b2acb23e2ab4a7f316a3f9334..1a652c82d173f016e3bb353100623f53562f0838 100644
--- a/lib/spack/spack/cmd/providers.py
+++ b/lib/spack/spack/cmd/providers.py
@@ -23,7 +23,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 import os
-from external import argparse
+import argparse
 
 from llnl.util.tty.colify import colify
 
diff --git a/lib/spack/spack/cmd/python.py b/lib/spack/spack/cmd/python.py
index 7bd2e45ce07c691ceda9464bcbcf6892b42f25e3..15c45654c2f30f5bb674874deec287f621232b4b 100644
--- a/lib/spack/spack/cmd/python.py
+++ b/lib/spack/spack/cmd/python.py
@@ -25,7 +25,7 @@
 import os
 import sys
 import code
-from external import argparse
+import argparse
 import platform
 
 import spack
diff --git a/lib/spack/spack/cmd/reindex.py b/lib/spack/spack/cmd/reindex.py
index b584729ea45c0b68a90dfdc5524df9d21c91d1a7..c0008930c4be366c69ff3b57ecf9b1757761d21a 100644
--- a/lib/spack/spack/cmd/reindex.py
+++ b/lib/spack/spack/cmd/reindex.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import spack
 
 description = "Rebuild Spack's package database."
diff --git a/lib/spack/spack/cmd/restage.py b/lib/spack/spack/cmd/restage.py
index e735a12c327335954401951d4b28d419a171e1ea..9230cf5a1a0c6ff37366a573a79443074edbdfea 100644
--- a/lib/spack/spack/cmd/restage.py
+++ b/lib/spack/spack/cmd/restage.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 
diff --git a/lib/spack/spack/cmd/spec.py b/lib/spack/spack/cmd/spec.py
index 407519313cee65fd4dd0f486e4e0e7ffad10fd46..af7ec1b36c911c60e2e26896798f95e45177826a 100644
--- a/lib/spack/spack/cmd/spec.py
+++ b/lib/spack/spack/cmd/spec.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import spack.cmd
 
 import llnl.util.tty as tty
diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py
index f3dc97be171b5e0ddfa91c5cd56b7a0eedff6ac8..09cf0e1a1c25676638bd07eaa82cd69195d40bf8 100644
--- a/lib/spack/spack/cmd/stage.py
+++ b/lib/spack/spack/cmd/stage.py
@@ -23,7 +23,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 import os
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 import spack
diff --git a/lib/spack/spack/cmd/test-install.py b/lib/spack/spack/cmd/test-install.py
index 68b761d5dc89a65cdd31aa25e5efd86ae85ac2ed..ba0cb39baf29883323930b55c91d44a80d03995d 100644
--- a/lib/spack/spack/cmd/test-install.py
+++ b/lib/spack/spack/cmd/test-install.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import xml.etree.ElementTree as ET
 import itertools
 import re
diff --git a/lib/spack/spack/cmd/uninstall.py b/lib/spack/spack/cmd/uninstall.py
index e80f2d2636d0d3dbcba3f7f34a7bc565547f53a3..93575e005dc3faf90746f5d2a93420249568ac55 100644
--- a/lib/spack/spack/cmd/uninstall.py
+++ b/lib/spack/spack/cmd/uninstall.py
@@ -23,7 +23,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 import sys
-from external import argparse
+import argparse
 
 import llnl.util.tty as tty
 from llnl.util.tty.colify import colify
diff --git a/lib/spack/spack/cmd/unload.py b/lib/spack/spack/cmd/unload.py
index 6442c48cb15ee95fb727f1fc9e6523645861ffdb..24e49b3f24aed0d40c8edb798fa3d981cca40e81 100644
--- a/lib/spack/spack/cmd/unload.py
+++ b/lib/spack/spack/cmd/unload.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import spack.modules
 
 description ="Remove package from environment using module."
diff --git a/lib/spack/spack/cmd/unuse.py b/lib/spack/spack/cmd/unuse.py
index 2a7229a3a0143dbabcee62fd864518439a22560e..7f0b384ea05bbb336b5a6289dbe79968bfec21ed 100644
--- a/lib/spack/spack/cmd/unuse.py
+++ b/lib/spack/spack/cmd/unuse.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import spack.modules
 
 description ="Remove package from environment using dotkit."
diff --git a/lib/spack/spack/cmd/use.py b/lib/spack/spack/cmd/use.py
index e34c1947390cb2edb14a3461340428a46fba6f1c..4990fea2f821441947872007ce463fd21cd1fa24 100644
--- a/lib/spack/spack/cmd/use.py
+++ b/lib/spack/spack/cmd/use.py
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
-from external import argparse
+import argparse
 import spack.modules
 
 description ="Add package to environment using dotkit."
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
index 3e91958c2c20d000e26a2a0826eeefe7924d18b6..41afe8b23276b909d6e37ecaf660c3083d77707b 100644
--- a/lib/spack/spack/config.py
+++ b/lib/spack/spack/config.py
@@ -90,12 +90,12 @@
 import exceptions
 import sys
 
-from external.ordereddict import OrderedDict
+from ordereddict_backport import OrderedDict
 from llnl.util.lang import memoized
 import spack.error
 
-from external import yaml
-from external.yaml.error import MarkedYAMLError
+import yaml
+from yaml.error import MarkedYAMLError
 import llnl.util.tty as tty
 from llnl.util.filesystem import mkdirp
 
diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py
index e0c14a0455331f4c776e19571e99dfb46f378556..908ffc7fa4c12f80ce6b21946b948c460883e138 100644
--- a/lib/spack/spack/database.py
+++ b/lib/spack/spack/database.py
@@ -43,8 +43,8 @@
 import time
 import socket
 
-from external import yaml
-from external.yaml.error import MarkedYAMLError, YAMLError
+import yaml
+from yaml.error import MarkedYAMLError, YAMLError
 
 import llnl.util.tty as tty
 from llnl.util.filesystem import *
diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py
index da8f4187cc5e917d55b1dc968143377c9bfe28a7..918405cab6916743691ce28712f8716bec2f3b0a 100644
--- a/lib/spack/spack/directory_layout.py
+++ b/lib/spack/spack/directory_layout.py
@@ -29,7 +29,7 @@
 import shutil
 import glob
 import tempfile
-from external import yaml
+import yaml
 
 import llnl.util.tty as tty
 from llnl.util.filesystem import join_path, mkdirp
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index 7b79feb311aa65402679398e694b8b5914b488d3..92880e9cbf8aecff8cfb82f75a78ed04a1b00597 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -96,8 +96,8 @@
 import base64
 from StringIO import StringIO
 from operator import attrgetter
-from external import yaml
-from external.yaml.error import MarkedYAMLError
+import yaml
+from yaml.error import MarkedYAMLError
 
 import llnl.util.tty as tty
 from llnl.util.lang import *
diff --git a/lib/spack/spack/test/python_version.py b/lib/spack/spack/test/python_version.py
index 5779d31ed2f184b592c792e236833a8044f00840..ba7bab6f4b82c207dc4f6eac41fae095a071a698 100644
--- a/lib/spack/spack/test/python_version.py
+++ b/lib/spack/spack/test/python_version.py
@@ -34,7 +34,7 @@
 
 import llnl.util.tty as tty
 
-from external import pyqver2
+import pyqver2
 import spack
 
 spack_max_version = (2,6)
diff --git a/lib/spack/spack/version.py b/lib/spack/spack/version.py
index 35db05e018af5cdf25cd7e529b72f0d9c451d2c2..ffce2d1ff89d97ce1ef7249f539edd89bf720ede 100644
--- a/lib/spack/spack/version.py
+++ b/lib/spack/spack/version.py
@@ -48,7 +48,7 @@
 import re
 from bisect import bisect_left
 from functools import wraps
-from external.functools import total_ordering
+from functools_backport import total_ordering
 
 # Valid version characters
 VALID_VERSION = r'[A-Za-z0-9_.-]'