Files
pipenv/pipenv/help.py
T
2018-07-03 09:54:46 -04:00

93 lines
2.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# coding: utf-8
import os
import sys
import pipenv
from pprint import pprint
from .__version__ import __version__
from .core import project, system_which, find_python_in_path, python_version
from .pep508checker import lookup
def print_utf(line):
try:
print(line)
except UnicodeEncodeError:
print(line.encode("utf-8"))
def get_pipenv_diagnostics():
print("<details><summary>$ pipenv --support</summary>")
print("")
print("Pipenv version: `{0!r}`".format(__version__))
print("")
print("Pipenv location: `{0!r}`".format(os.path.dirname(pipenv.__file__)))
print("")
print("Python location: `{0!r}`".format(sys.executable))
print("")
print("Other Python installations in `PATH`:")
print("")
for python_v in ("2.5", "2.6", "2.7", "3.4", "3.5", "3.6", "3.7"):
found = find_python_in_path(python_v)
if found:
print(" - `{0}`: `{1}`".format(python_v, found))
found = system_which("python{0}".format(python_v), mult=True)
if found:
for f in found:
print(" - `{0}`: `{1}`".format(python_v, f))
print("")
for p in ("python", "python2", "python3", "py"):
found = system_which(p, mult=True)
for f in found:
print(" - `{0}`: `{1}`".format(python_version(f), f))
print("")
print("PEP 508 Information:")
print("")
print("```")
pprint(lookup)
print("```")
print("")
print("System environment variables:")
print("")
for key in os.environ:
print(" - `{0}`".format(key))
print("")
print_utf(u"Pipenvspecific environment variables:")
print("")
for key in os.environ:
if key.startswith("PIPENV"):
print(" - `{0}`: `{1}`".format(key, os.environ[key]))
print("")
print_utf(u"Debugspecific environment variables:")
print("")
for key in ("PATH", "SHELL", "EDITOR", "LANG", "PWD", "VIRTUAL_ENV"):
if key in os.environ:
print(" - `{0}`: `{1}`".format(key, os.environ[key]))
print("")
print("")
print("---------------------------")
print("")
if project.pipfile_exists:
print_utf(u"Contents of `Pipfile` ({0!r}):".format(project.pipfile_location))
print("")
print("```toml")
with open(project.pipfile_location, "r") as f:
print(f.read())
print("```")
print("")
if project.lockfile_exists:
print("")
print_utf(
u"Contents of `Pipfile.lock` ({0!r}):".format(project.lockfile_location)
)
print("")
print("```json")
with open(project.lockfile_location, "r") as f:
print(f.read())
print("```")
print("</details>")
if __name__ == "__main__":
get_pipenv_diagnostics()