我有一台新的MacBook,其中包含我升级到macOS Catalina的所有内容的最新安装。我先安装了自制软件,然后安装了pyenv,并使用pyenv安装了Python 3.8.0。所有这些事情似乎都能正常工作。
但是,pyenv local
和pyenv global
似乎都没有生效。以下是我所看到的所有详细信息:
thewizard@Special-MacBook-Pro ~ % pyenv versions
system
* 3.8.0 (set by /Usersthewizard/.python-version)
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % pyenv global 3.8.0
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % pyenv local 3.8.0
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/thewizard/.pyenv/bin
thewizard@Special-MacBook-Pro ~ % cat ~/.zshenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
顺便说一句,我的.pyenv中没有/bin
,我只是按照其他一些说明添加了这些命令,但是我打算删除它,因为我认为这是错误的:
thewizard@Special-MacBook-Pro ~ % ls -al ~/.pyenv
total 8
drwxr-xr-x 5 thewizard staff 160 Nov 2 15:03 .
drwxr-xr-x+ 22 thewizard staff 704 Nov 2 15:36 ..
drwxr-xr-x 22 thewizard staff 704 Nov 2 15:03 shims
-rw-r--r-- 1 thewizard staff 6 Nov 2 15:36 version
drwxr-xr-x 3 thewizard staff 96 Nov 2 15:01 versions
值得注意的是,Catalina从bash转移到了zsh,不确定在这里是否有意义。
答案 0 :(得分:2)
如果您将pyenv
与pipenv
一起使用,并遇到相同的问题,则可以将以下行添加到.zshrc
或.zprofile
文件中:
export PYENV_ROOT="$HOME/.pyenv/shims"
export PATH="$PYENV_ROOT:$PATH"
export PIPENV_PYTHON="$PYENV_ROOT/python"
引用pyenv
的{{1}}文件夹有助于使其更通用,并且如果您安装了多个Python版本,则可以方便地在不同的Python版本之间进行切换。
/shims
将始终引用pipenv
当前设置为全局的Python版本。
答案 1 :(得分:0)
我在〜/ .zprofile中添加了以下内容并使其正常工作。
export PYENV_ROOT="$HOME/.pyenv/versions/3.7.3"
export PATH="$PYENV_ROOT/bin:$PATH"
答案 2 :(得分:0)
catalina(通常是OS X)使用/etc/zprofile
来设置$PATH
,要先于本地点文件中指定的内容。
它使用path_helper
实用程序指定$PATH
,我怀疑这将覆盖本地dotfile中的填充垫片。我发现获得我的首选行为的最简单方法是在/etc/zprofile
中注释掉以下几行。
# if [ -x /usr/libexec/path_helper ]; then
# eval `/usr/libexec/path_helper -s`
# fi
有一个选项,我打算探索使用$GLOBAL_RCS
中概述的未设置的man zhsoptions
,但是全局RC文件中还有其他有用的东西,因此这看起来像太大的锤子。 /etc/zprofile
仅会影响交互式外壳,因此注释掉这些行并在本地点文件中进行显式$PATH
管理似乎是解决此问题的侵入性最低的方法。
答案 3 :(得分:0)
检查帐户根目录上是否存在任何符号链接
$(document).ready(function() {
console.log('"URL Copy When Hover" ready');
$("a").hover(function() {
// var URL = $(this).attr("href");
var URL = (this.href);
GM_setClipboard(URL);
console.log('"'+URL+'" copied to clipboard');
});
});
如果没有符号链接文件
ls -al .pyenv/versions/x.x.x/bin
,然后尝试使用pyenv重新安装python
答案 4 :(得分:0)
我认为问题是由于默认的HD分区可能引起混乱。 “使用macOS Catalina,您将无法再将文件或数据存储在只读系统卷中,也无法通过命令行将其写入“根”目录(/),例如使用终端”(https://support.apple.com/en-ca/HT210650 )。我在macbook pro和imac上遇到了相同的问题,这迫使我执行出厂重置。我已经放弃了pyenv并决定与Anaconda一起管理python版本。