diff --git a/bin/steps/pip-install b/bin/steps/pip-install
index 739e5497fe2bda0b36b9b379858e61639508e302..0fc35b0bd885a626b6eb587f3e7630ae2dc70c91 100755
--- a/bin/steps/pip-install
+++ b/bin/steps/pip-install
@@ -1,5 +1,5 @@
 # Install dependencies with Pip.
-puts-cmd "pip install -r requirements.txt"
+puts-step "Installing requirements with pip"
 
 set +e
 # delete any existing egg links, to uninstall exisisting installations.
diff --git a/bin/steps/pipenv b/bin/steps/pipenv
index d16c153cb53ef7ac2e9900c3914b545b274acceb..3ecdc2384488cb99c0ca19dd8e4db99a2ec2f990 100755
--- a/bin/steps/pipenv
+++ b/bin/steps/pipenv
@@ -4,7 +4,7 @@ if [[ -f Pipfile ]]; then
     if [[ ! -f requirements.txt ]]; then
         puts-step "Generating 'requirements.txt' with pipenv"
 
-        pip install git+https://github.com/kennethreitz/pipenv.git#egg=pipenv &> /dev/null
+        pip install pipenv --upgrade &> /dev/null
         pipenv lock --requirements > requirements.txt 2> /dev/null
 
         pipstrip requirements.txt
diff --git a/bin/steps/python b/bin/steps/python
index caf4b5a2330b17ba94d73f841d870b8809e9d388..507ffd30f97a8bbe1cfa412ff152e7d811c976f7 100755
--- a/bin/steps/python
+++ b/bin/steps/python
@@ -1,4 +1,5 @@
 set +e
+runtime-fixer runtime.txt
 PYTHON_VERSION=$(cat runtime.txt)
 
 # Install Python.
diff --git a/test/fixtures/nltk/nltk.txt b/test/fixtures/nltk/nltk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4f6bba89dc5bb908437d12b8b0727ae4e6ca5c1
--- /dev/null
+++ b/test/fixtures/nltk/nltk.txt
@@ -0,0 +1 @@
+wordnet
\ No newline at end of file
diff --git a/test/fixtures/nltk/requirements.txt b/test/fixtures/nltk/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6fa2de44417ce85838334618e6430c5e1abc6a5d
--- /dev/null
+++ b/test/fixtures/nltk/requirements.txt
@@ -0,0 +1 @@
+nltk
\ No newline at end of file
diff --git a/test/fixtures/no-requirements/init b/test/fixtures/no-requirements/init
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/test/fixtures/pipenv-version/Pipfile b/test/fixtures/pipenv-version/Pipfile
new file mode 100644
index 0000000000000000000000000000000000000000..cd4e813138e32642c4c9979cf289d2b43241815c
--- /dev/null
+++ b/test/fixtures/pipenv-version/Pipfile
@@ -0,0 +1,9 @@
+[[source]]
+url = "https://pypi.python.org/simple"
+verify_ssl = true
+
+[packages]
+requests = "*"
+
+[requires]
+python_version = "3.6"
\ No newline at end of file
diff --git a/test/fixtures/pipenv-version/Pipfile.lock b/test/fixtures/pipenv-version/Pipfile.lock
new file mode 100644
index 0000000000000000000000000000000000000000..15f40775d714c632441a5f8ce8e0876098618f35
--- /dev/null
+++ b/test/fixtures/pipenv-version/Pipfile.lock
@@ -0,0 +1,23 @@
+{
+    "default": {
+        "requests": {
+            "version": "==2.13.0",
+            "hash": "sha256:1a720e8862a41aa22e339373b526f508ef0c8988baf48b84d3fc891a8e237efb"
+        }
+    },
+    "develop": {},
+    "_meta": {
+        "sources": [
+            {
+                "url": "https://pypi.python.org/simple",
+                "verify_ssl": true
+            }
+        ],
+        "requires": {
+            "python_version": "3.6"
+        },
+        "hash": {
+            "sha256": "5866990104fc8f27d13cdf01abc2a32c553129e03f666316cacc5b42d3e0884e"
+        }
+    }
+}
\ No newline at end of file
diff --git a/test/fixtures/pipenv/Pipfile b/test/fixtures/pipenv/Pipfile
new file mode 100644
index 0000000000000000000000000000000000000000..317d2dddd5fd7f1f70bdaeb4035bd5d6850a6bff
--- /dev/null
+++ b/test/fixtures/pipenv/Pipfile
@@ -0,0 +1,2 @@
+[packages]
+"delegator.py" = "*"
diff --git a/test/run b/test/run
index 8876e4e61a1d2d030ee61fdfc8d0142a13455bba..bc1f2e14f6827fa6652ec62f9332a95d506438ce 100755
--- a/test/run
+++ b/test/run
@@ -1,11 +1,34 @@
 #!/usr/bin/env bash
 
+
+
 testNoRequirements() {
   compile "no-requirements"
   assertCapturedError
 }
 
 
+testNLTK() {
+  compile "nltk"
+  assertCaptured "wordnet"
+  assertCapturedSuccess
+
+}
+
+
+testPipenvVersion() {
+  compile "pipenv-version"
+  assertCaptured "3.6.0"
+  assertCapturedSuccess
+}
+
+
+testPipenv() {
+  compile "pipenv"
+  assertCapturedSuccess
+}
+
+
 testSetupPy() {
   compile "setup-py"
   assertCaptured "maya"
diff --git a/test/utils b/test/utils
index c46d242264cc629affbe14dc8aaf90803eb7436e..23cb6df40af82f2756951f9b94b3a2427826dbdc 100644
--- a/test/utils
+++ b/test/utils
@@ -150,6 +150,8 @@ _assertContains()
 debug()
 {
   cat $STD_OUT
+  echo '^^^^^^'
+  cat $STD_ERR
 }
 
 assertContains()
diff --git a/vendor/runtime-fixer b/vendor/runtime-fixer
new file mode 100755
index 0000000000000000000000000000000000000000..4ee1e41981b8cba01b57cc5b64ffe8c9f55b8202
--- /dev/null
+++ b/vendor/runtime-fixer
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+import sys
+
+runtime_file = sys.argv[1]
+
+with open(req_file, 'r') as f:
+    r = f.read().strip()
+
+with open(runtime_file, 'w') as f:
+    f.write(r)