mosescha1972 commented on issue #37793:
URL: https://github.com/apache/superset/issues/37793#issuecomment-3868877434

   We encountered a build failure when trying to install cx_Oracle==8.3.0 in a 
Superset Docker environment using Python 3.11 and uv:
   
   The installation fails during wheel build with:
   ModuleNotFoundError: No module named 'pkg_resources'
   
   This happens because cx_Oracle relies on legacy setuptools/pkg_resources 
behavior that is incompatible with modern PEP 517 build isolation used by uv.
   
   In addition, cx_Oracle is a deprecated driver. Oracle officially recommends 
using the newer python-oracledb package instead.
   
   Our goal is to avoid forcing a fix for a deprecated package and instead 
migrate to the supported driver.
   
   However, Superset currently detects Oracle availability by checking for the 
presence of the cx_Oracle module, even though actual connections should be made 
using oracledb.
   
   Therefore, the plan is:
   
   Install python-oracledb for real Oracle connectivity:
   
   uv pip install oracledb
   
   
   Provide a lightweight stub module so that Superset can still detect 
cx_Oracle:
   
   # create a fake cx_Oracle package that delegates to oracledb
   
   
   Use the correct SQLAlchemy connection string:
   
   oracle+oracledb://user:pass@host:1521/?service_name=ORCL
   
   
   This approach allows us to:
   
   Avoid build errors from the deprecated cx_Oracle
   
   Follow Oracle’s official recommendation
   
   Keep Superset’s Oracle menu visible without modifying Superset source code
   
   Maintain compatibility with Python 3.11 and modern build tooling.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to