首页 > 解决方案 > pyenv 垫片有时不可执行

问题描述

我们正在运行一个 pyenv 3.7.8 虚拟环境,使用pyenv-virtualenv. 我们可重复地发现,如果我们pip install awscliaws二进制文件是不可执行的。这是在 Ubuntu 16.04 和 18.04 上。

如果我们转到pyenv which pythoneg指示的目录/home/${USER}/.pyenv/versions/ENVNAME/bin/,我们会看到:

drwxr-x--- 2 user user 4096 Nov  5 11:39 __pycache__
-rw-r--r-- 1 user user 2239 Nov  5 11:38 activate
-rw-r--r-- 1 user user 1291 Nov  5 11:38 activate.csh
-rw-r--r-- 1 user user 2443 Nov  5 11:38 activate.fish
-rw-r----- 1 user user  866 Nov  5 11:39 aws
-rw-r----- 1 user user 1432 Nov  5 11:39 aws.cmd
-rw-r----- 1 user user  204 Nov  5 11:39 aws_bash_completer
-rw-r----- 1 user user 1187 Nov  5 11:39 aws_completer
-rw-r----- 1 user user 1807 Nov  5 11:39 aws_zsh_completer.sh
-rwxr-xr-x 1 user user  284 Nov  5 11:38 easy_install
-rwxr-xr-x 1 user user  284 Nov  5 11:38 easy_install-3.7
...

当然,pip[3], python[3],easy_install等命令都是可执行的。aws由于某种我们无法弄清楚的原因,这个问题似乎仅限于自身。

在最新的 macOS 上,不会发生相同的行为:aws已安装且可执行。

到目前为止,我们无法追踪行为差异。在使用 pyenv 安装时,环境中是否有一些东西可以控制特定包的 console_scripts 是否可执行?

标签: pythonaws-clipyenv

解决方案


推荐阅读