deno_python
deno_python copied to clipboard
Python packages not found if installed with venv
On mac os it works well with packages installed with brew but when using venv and packages installed with pip - it can't find it.
The sys.path is different when run with python and bunpy, the bunpy misses the venv installation dir
python
[
'/Users/alex/base/projects/ext_ts/math',
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python312.zip',
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12',
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload',
'/Applications/misc/python/lib/python3.12/site-packages'
]
bunpy (misses '/Applications/misc/python/lib/python3.12/site-packages' )
[
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python312.zip',
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12',
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload',
'/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages'
]
P.S.
I also had to explicitly set python lib, by default it can't find it
export DENO_PYTHON_PATH=/usr/local/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/libpython3.12.dylib
Solution:
Add env variable
export DENO_DEPS_PATH=/Applications/misc/python/lib/python3.12/site-packages
Add this variable to sys.path
const sys = python.import('sys')
sys.path.append(process.env.DENO_DEPS_PATH)
Then python.import works well