标签: pyenv

Pyenv:重建 python 后如何“重建”virtualenvs

我重建了 python 3.7 以使 pyinstaller 在 Mac 上工作,它似乎使用 3.7.0 删除了我所有的 virtualenv。

.python 版本文件仍然存在,它们指向我期望的位置。但是当我运行“pyenv virtualenvs”时,根本没有python3环境,并且在项目目录中,python命令根本不起作用。

3.7.0/envs/some-scripts```


```$ ls ~/.pyenv/versions/3.7.0/envs/some-scripts/bin/
activate        chardetect      macho_find      netaddr         pydoc           pyi-makespec        python3
activate.csh        easy_install        macho_standalone    pip         pyi-archive_viewer  pyi-set_version
activate.fish       easy_install-3.7    mako-render     pip3            pyi-bindepend       pyinstaller
alembic         macho_dump      natsort         pip3.7          pyi-grab_version    python```


```$ pyenv virtualenvs
  2.7.10/envs/some-scripts-2 (created from /Users/mememe/.pyenv/versions/2.7.10)
  2.7.10/envs/gdrive (created from /Users/mememe/.pyenv/versions/2.7.10)
  arista-scripts-2 (created from /Users/mememe/.pyenv/versions/2.7.10)
  gdrive (created from /Users/mememe/.pyenv/versions/2.7.10)```

See? no 3, and no asterisk, despite being in the project directory.
Run Code Online (Sandbox Code Playgroud)

virtualenv python-3.x pyenv

3
推荐指数
1
解决办法
5087
查看次数

tcl-tk (tkinter) 未在 MacOS Mojave 上通过 Homebrew pyenv 安装

如果我在 MacOS Mojave 上使用 Homebrew 执行此操作:

$ brew install tcl-tk
$ brew install pyenv
$ pyenv install 3.7.4
$ pyenv global 3.7.4
$ python -m tkinter -c 'tkinter._test()'    
Run Code Online (Sandbox Code Playgroud)

我得到:

Traceback (most recent call last):
  File "/Users/craign/.pyenv/versions/3.7.4/lib/python3.7/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/Users/craign/.pyenv/versions/3.7.4/lib/python3.7/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/Users/craign/.pyenv/versions/3.7.4/lib/python3.7/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/Users/craign/.pyenv/versions/3.7.4/lib/python3.7/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured …
Run Code Online (Sandbox Code Playgroud)

python homebrew tcl pyenv macos-mojave

3
推荐指数
1
解决办法
4380
查看次数

pyenv 不会更改 mac 上的 python 版本

我在 mac 上安装了 pyenv 并使用以下命令安装所需的 python 版本:

pyenv install 3.8.0
pyenv global 3.8.0
Run Code Online (Sandbox Code Playgroud)

我正在使用 zsh,我的 zshrc 文件包含以下内容:

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
Run Code Online (Sandbox Code Playgroud)

当我检查python版本时,我仍然可以看到命令响应的旧系统版本即2.7.15:

python -V
Run Code Online (Sandbox Code Playgroud)

对我可能做错了什么有什么想法吗?

我也尝试过bash。我在 bashrc 文件中没有看到任何 pyenv 引用。

python python-3.x pyenv

3
推荐指数
1
解决办法
2233
查看次数

找不到 pyenv 命令 - Jupyter 笔记本

我已经提到了这个相关的帖子

我目前在我的服务器(我没有 sudo 访问权限)中使用 jupyter 笔记本,它有python 2.7 kernel.

但是,我想添加Python >= 3.5为内核。所以,我使用的是按照教程安装Pyenv.

安装成功,我在 jupyter notebook 中收到以下消息

WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by adding
# the following to ~/.bashrc:

export PATH="/home/abcd/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)" 
Run Code Online (Sandbox Code Playgroud)

后来,当我尝试执行以下命令时,出现如下所示的错误

!pyenv install --list | grep " 3\.[678]" 
Run Code Online (Sandbox Code Playgroud)

请注意,我在!Jupyter notebook单元格执行它时使用了符号

/bin/sh: 1: pyenv: 未找到

如何避免此错误并使 pyenv 工作并产生以下输出

在此处输入图片说明

python virtualenv pyenv jupyter jupyter-notebook

3
推荐指数
1
解决办法
6659
查看次数

RStudio 发现 Python pyenv 安装,但我无法运行 Python 进程

我正在尝试在 RStudio 中运行 Python。我已经通过 pyenv 安装了 Python 3.8.5,并在 RStudio 项目文件夹中使用 pyenv virtualenv (我称之为 venv-Rstudio)创建了一个虚拟环境。根据此处给出的说明,我认为我已正确地向 RStudio 指示要使用哪个 Python 环境:

>Sys.setenv(RETICULATE_PYTHON="/Users/my_username/.pyenv/versions/venv-Rstudio/bin/python")
> py_discover_config()
python:         /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/bin/python
libpython:      [NOT FOUND]
pythonhome:     /Users/my_username/.pyenv/versions/3.8.5:/Users/my_username/.pyenv/versions/3.8.5
version:        3.8.5 (default, Oct  1 2020, 21:50:37)  [Clang 12.0.0 (clang-1200.0.32.2)]
numpy:          /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/lib/python3.8/site-packages/numpy
numpy_version:  1.18.5
Run Code Online (Sandbox Code Playgroud)

当尝试调用 Python 时,出现以下错误:

> py_config()
Error: Python shared library not found, Python bindings not loaded.
Use reticulate::install_miniconda() if you'd like to install a Miniconda Python environment.
Run Code Online (Sandbox Code Playgroud)

我怀疑这与上面看到的有关libpython: [NOT FOUND],但我已经确保 libpython 安装在 venv-Rstudio 虚拟环境中:

(venv-Rstudio) …
Run Code Online (Sandbox Code Playgroud)

python macos r rstudio pyenv

3
推荐指数
1
解决办法
1024
查看次数

通过 brew 升级 pyenv,现在只有系统 python 在新终端上激活

昨天我通过 brew 从 1.2.24.1 -> 2.0.3 升级了 pyenv。从那时起,当我打开任何新的终端窗口时,python链接到内置系统 Python 2 而不是我的全局 pyenv python。

如果我pyenv virtualenvwrapper在终端窗口中执行 a ,然后创建并激活一个虚拟环境(mkvirtualenv foobarworkon foobar),那么我的全局 pyenv Python 将被正确激活。前任:

$ pyenv global
3.9.6

$ which python
/usr/bin/python

$ python

WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.

Python …
Run Code Online (Sandbox Code Playgroud)

homebrew pyenv pyenv-virtualenv

3
推荐指数
1
解决办法
124
查看次数

Pyinstaller:OSError:找不到 Python 库

我安装了 Python 3.9.6,但也通过 pyenv 设置了相同的版本,我将其设置为全局默认版本,因此当我运行此命令时,应该显示在此处:pyinstaller --onefile main.py

OSError: Python library not found: Python3, Python, libpython3.9.dylib, libpython3.9m.dylib, .Python
    This would mean your Python installation doesn't come with proper library files.
    This usually happens by missing development package, or unsuitable build parameters of Python installation.

    * On Debian/Ubuntu, you would need to install Python development packages
      * apt-get install python3-dev
      * apt-get install python-dev
    * If you're building Python by yourself, please rebuild your Python with `--enable-shared` (or, `--enable-framework` on Darwin) …
Run Code Online (Sandbox Code Playgroud)

python pyinstaller pyenv

3
推荐指数
1
解决办法
2337
查看次数

尝试安装 pyenv 时出现 Homebrew 错误

我最近通过终端安装了Homebrew,但是当我尝试使用它安装其他程序时出现一些错误。

这是我尝试安装pyenv时的示例情况。

brew install pyenv
Run Code Online (Sandbox Code Playgroud)

这是上述命令的输出:

Running `brew update --preinstall`...
Warning: No available formula with the name "ca-certificates".
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
Error: 
  homebrew-cask is a shallow clone.
To `brew update`, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
This command …
Run Code Online (Sandbox Code Playgroud)

macos terminal homebrew pyenv

3
推荐指数
1
解决办法
6179
查看次数

pyenv global 命令未设置正确的 python 版本

所以我激活了这个虚拟环境:

pyenv install 3.7.4
pyenv virtualenv 3.7.4 apps3
pyenv local apps3
pyenv activate apps3
Run Code Online (Sandbox Code Playgroud)

并且还设置了这个:

pyenv global 3.7.4
Run Code Online (Sandbox Code Playgroud)

我的 .zshrc 配置文件中已包含这些内容,如下所示:

$ export PATH="$HOME/.pyenv/bin:$PATH"
$ eval "$(pyenv init -)"
$ eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)

然而,即便如此,当我激活apps3并检查时python --version,我仍然得到Python 2.7.16,这是我系统的默认 Python。我怎样才能解决这个问题?

python zsh python-3.x pyenv virtual-environment

3
推荐指数
1
解决办法
3639
查看次数

pyenv和anaconda问题'出口PATH'

我在我的系统中安装了pyenv + virtualenvAnaconda,以管理虚拟环境.

我的.zshrc文件如下所示:

# Load pyenv automatically:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

# added by Anaconda3 4.2.0 installer
export PATH="$HOME/anaconda3/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

在给定的文件夹中,我设置了一个本地pyenv虚拟环境

$ pyenv local test-env
Run Code Online (Sandbox Code Playgroud)

列出该pyenv文件夹中的virtual-env会导致:

$ pyenv versions
system
2.7.12
2.7.12/envs/test-env
* test-env (set by /home/<path>/.python-version)
Run Code Online (Sandbox Code Playgroud)

但是当我加载python而不是用Python v2.7.12打开会话时(正如人们所期望的那样,因为pyenv加载了虚拟环境),我得到:

$ python
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or …
Run Code Online (Sandbox Code Playgroud)

python anaconda pyenv

2
推荐指数
1
解决办法
1084
查看次数