setup.py 将控制台脚本安装到哪里?

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

当我使用 setup.py 设置程序包以获得控制台脚本入口点时,

pip install -e .
C:\Users\...\anaconda3\envs\envname
\Scripts
\foo.exe
中创建一个 cli exe。

但是,在另一台计算机上,Python 可执行文件是来自 Windows 应用商店的可执行文件:

C:\Users\...\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n6khra8p0\python.exe
这不会正确设置 PATH 环境变量以使 Scripts 文件夹中的
.exe
可以从命令行调用,因此我需要 .exe 的完整路径来调用它。

无论如何,我想在第二台计算机上找到 foo.exe 的位置(我无权访问),是否有一个命令可以指示第二台计算机运行,它会告诉我控制台脚本的位置位于 对于给定的

sys.executable
? IE。对于我的电脑,我希望它能够打印
C:\Users\...\anaconda3\envs\envname\Scripts


FWIW,这是我的

setup.cfg

[options]
py_modules = xml2csv
python_requires = >=3.10

[options.entry_points]
console_scripts =
    xml2csv=xml2csv:main
python python-3.x windows setuptools
1个回答
2
投票

只是想指出 Hoefling 在评论中分享的解决方案对我有用。

python -c 'import sysconfig; print(sysconfig.get_path("scripts"))'

就我而言,当使用 venv 时,它安装在

<project>/.venv/bin/<script>


就我而言,不同路径中已经存在另一个可执行文件,其优先级高于我的 python

venv/bin
。要检查是否执行了正确的脚本,您可以使用:

which <script>

获取可执行文件的位置(适用于 Linux/Mac)。

© www.soinside.com 2019 - 2024. All rights reserved.