当我使用 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
只是想指出 Hoefling 在评论中分享的解决方案对我有用。
python -c 'import sysconfig; print(sysconfig.get_path("scripts"))'
就我而言,当使用 venv 时,它安装在
<project>/.venv/bin/<script>
。
就我而言,不同路径中已经存在另一个可执行文件,其优先级高于我的 python
venv/bin
。要检查是否执行了正确的脚本,您可以使用:
which <script>
获取可执行文件的位置(适用于 Linux/Mac)。