databrickslabs / dbx

🧱 Databricks CLI eXtensions - aka dbx is a CLI tool for development and advanced Databricks workflows management.
https://dbx.readthedocs.io
Other
439 stars 120 forks source link

Cannot install dbx with python 3.12 #865

Closed m-kirsch closed 3 months ago

m-kirsch commented 3 months ago

Expected Behavior

I just installed the databricks-cli and now wanted to install dbx with "pip install dbx". I would expect the package to be installed on my computer.

Current Behavior

After sucessfully installing the databricks cli on my computer with python version 3.12 (pip version: 24.0) installed I get the following error:

` Collecting dbx Using cached dbx-0.8.18-py3-none-any.whl.metadata (5.6 kB) Requirement already satisfied: requests<3.0.0,>=2.30.1 in c:\users\4827\appdata\local\packages\pythonsoftwarefoundation.python.3.12_qbz5n Collecting mlflow-skinny<3.0.0,>=2.0.0 (from dbx) Using cached mlflow_skinny-2.14.1-py3-none-any.whl.metadata (30 kB) Collecting databricks-cli<0.18,>=0.17 (from dbx) Using cached databricks-cli-0.17.8.tar.gz (85 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'error' error: subprocess-exited-with-error

Getting requirements to build wheel did not run successfully. exit code: 1

[20 lines of output] Traceback (most recent call last): File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64qbz5n2kfra8p0\Lib\site-packages\pip_vendor\ main() File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64qbz5n2kfra8p0\Lib\site-packages\pip_vendor\ json_out['return_val'] = hook(hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0\Lib\site-packages\pip_vendor\ return hook(config_settings) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\123\AppData\Local\Temp\pip-build-env-zdvm5udg\overlay\Lib\site-packages\setuptools\build_meta.py", line 327, in get_r return self._get_build_requires(config_settings, requirements=[]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\123\AppData\Local\Temp\pip-build-env-zdvm5udg\overlay\Lib\site-packages\setuptools\build_meta.py", line 297, in get self.run_setup() File "C:\Users\123\AppData\Local\Temp\pip-build-env-zdvm5udg\overlay\Lib\site-packages\setuptools\build_meta.py", line 497, in run_s super().run_setup(setup_script=setup_script) File "C:\Users\123\AppData\Local\Temp\pip-build-env-zdvm5udg\overlay\Lib\site-packages\setuptools\build_meta.py", line 313, in run_s exec(code, locals()) File "", line 24, in ModuleNotFoundError: No module named 'imp'** [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

Getting requirements to build wheel did not run successfully. exit code: 1

See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. ` On Stackoverflow I found a related article saying that imp is not available for python 3.12. Could imp be replaced by importlib?

Steps to Reproduce (for bugs)

On Windows 10 from command prompt: winget search databricks winget install Databricks.DatabricksCLI Restart command prompt and try to install dbx with python 3.12 pip install dbx

Context

I want to get started with using dbx ;-)

Your Environment

renardeinside commented 3 months ago

hi @m-kirsch ,

please don't use dbx for new projects and use Databricks Asset Bundles instead - https://docs.databricks.com/en/dev-tools/bundles/index.html