Commit 601652a3 by Sébastien Eustace

Add debug:info command

parent e46d18c1
...@@ -2,6 +2,10 @@ ...@@ -2,6 +2,10 @@
## [Unreleased] ## [Unreleased]
### Added
- Added a `debug:info` command to get information about current environment.
### Fixed ### Fixed
- Fixed Python version retrieval inside virtualenvs. - Fixed Python version retrieval inside virtualenvs.
......
...@@ -21,6 +21,7 @@ from .commands import RunCommand ...@@ -21,6 +21,7 @@ from .commands import RunCommand
from .commands import ShowCommand from .commands import ShowCommand
from .commands import UpdateCommand from .commands import UpdateCommand
from .commands.debug import DebugInfoCommand
from .commands.debug import DebugResolveCommand from .commands.debug import DebugResolveCommand
...@@ -99,6 +100,7 @@ class Application(BaseApplication): ...@@ -99,6 +100,7 @@ class Application(BaseApplication):
# Debug commands # Debug commands
commands += [ commands += [
DebugInfoCommand(),
DebugResolveCommand(), DebugResolveCommand(),
] ]
......
from .info import DebugInfoCommand
from .resolve import DebugResolveCommand from .resolve import DebugResolveCommand
import os
import sys
from ..venv_command import VenvCommand
class DebugInfoCommand(VenvCommand):
"""
Shows debug information.
debug:info
"""
def handle(self):
poetry = self.poetry
package = poetry.package
venv = self.venv
poetry_python_version = '.'.join(str(s) for s in sys.version_info[:3])
self.output.title('Poetry')
self.output.listing([
'<info>Version</info>: <comment>{}</>'.format(poetry.VERSION),
'<info>Python</info>: <comment>{}</>'.format(poetry_python_version)
])
self.line('')
venv_python_version = '.'.join(str(s) for s in venv.version_info[:3])
self.output.title('Virtualenv')
self.output.listing([
'<info>Python</info>: <comment>{}</>'.format(
venv_python_version
),
'<info>Implementation</info>: <comment>{}</>'.format(
venv.python_implementation
),
'<info>Path</info>: <comment>{}</>'.format(
venv.venv if venv.is_venv() else 'NA'
)
])
self.line('')
self.output.title('System')
self.output.listing([
'<info>Platform</info>: <comment>{}</>'.format(sys.platform),
'<info>OS</info>: <comment>{}</>'.format(os.name),
])
self.line('')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment