识别python中xxx/library/bin的完整路径

问题描述 投票:0回答:1

我有一个依赖于 intel-fortran-rt 的应用程序

通过

pip install intel-fortran-rt==2021.3.0
安装时,intel fortran 运行时 dll 会复制到
xxx\Library\bin

问题是在不同的Python版本、发行版和平台上识别

xxx

pip如何知道将文件放在哪里(我假设它是在元文件中指定的,但找不到它)以及如何从python获取路径

python python-wheel
1个回答
0
投票

我假设它是在元文件中指定的

不是的。 Python 知道它的目录。

pip
python
下运行,并要求
python
提供目录。像这样:

$ python -c "import sys; print(sys.base_prefix); print(sys.prefix)"
/home/phd/.local
/home/phd/.virtualenvs/tmp-4cbd5ccc42cbf86

这是一个临时的虚拟环境。基目录意味着

python
/home/phd/.local/bin/
中,确切的 Python 是

$ python -c "import sys; print(sys.executable)"
/home/phd/.virtualenvs/tmp-4cbd5ccc42cbf86/bin/python

这是一个符号链接:

$ ls -l /home/phd/.virtualenvs/tmp-4cbd5ccc42cbf86/bin/python
lrwxrwxrwx 1 phd phd 30 Oct 22 15:26 /home/phd/.virtualenvs/tmp-4cbd5ccc42cbf86/bin/python -> /home/phd/.local/bin/python3.7

Python 查找模块和包的目录是:

$ python -m site
sys.path = [
    '/home/phd/.virtualenvs/tmp-4cbd5ccc42cbf86',
    '/home/phd/.local/lib/python37.zip',
    '/home/phd/.local/lib/python3.7',
    '/home/phd/.local/lib/python3.7/lib-dynload',
    '/home/phd/.virtualenvs/tmp-4cbd5ccc42cbf86/lib/python3.7/site-packages',
]
USER_BASE: '/home/phd/.local' (exists)
USER_SITE: '/home/phd/.local/lib/python3.7/site-packages' (exists)
ENABLE_USER_SITE: False
© www.soinside.com 2019 - 2024. All rights reserved.