标签: pyenv

为什么 ~/.pyenv/versions/*/bin 中的脚本不能从命令行调用?

我最近安装了 pyenv,以便在每个项目的基础上在几个竞争的 python 解释器之间切换。因此,将入口点python setup.py develop放置在. 但是,从命令行调用这些脚本之一(例如:) 会导致错误:找不到该命令。console_script~/.pyenv/versions/3.4.3/bin$ my_entry_point_script

我该如何解决这个问题?$PATH这是、$PTHONPATH、 其他问题吗?作为参考,我的 shell (fish)status --is-interactive; and . (pyenv init -lpsub)在启动时执行。

编辑: 正确的解决方案将保持不同版本的 python 之间的清晰分离。

python setuptools pyenv

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

为什么pyenv在Alpine Linux下找不到openssl共享库?

我正在尝试构建一个gliderlabs/alpine:latest仅包含pyenv及其依赖关系的docker镜像.我希望这个容器能够通过pyenv安装和执行任意解释器.

初步尝试

我从以下Dockerfile开始:

FROM gliderlabs/alpine:latest

RUN apk-install curl \
  ca-certificates \
  bash \
  git \
  openssl-dev \
  readline-dev \
  bzip2-dev \
  sqlite-dev \
  build-base

RUN curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer -o /pyenv-installer
RUN touch /root/.bashrc && \
      /bin/ln -s /root/.bashrc /root/.bash_profile && \
      /bin/bash /pyenv-installer && \
      rm /pyenv-installer && \
      echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile && \
      echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile && \
      echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

ENV HOME  /root
ENV PYENV_ROOT $HOME/.pyenv
ENV PATH …
Run Code Online (Sandbox Code Playgroud)

python linux docker pyenv alpine-linux

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

如何使用pyenv安装的python创建virtualenv

我安装了2个pyenv版本

pyenv versions
  system
* 2.7 (set by ../.python-version)
  3.5.3
Run Code Online (Sandbox Code Playgroud)

当我virtualenv在项目目录中创建一个内部目录时,我希望它virtualenv为当前的pyenvpython版本创建一个2.7

但是当我使用创建一个 mkvirtualenv whatever

虚拟环境正在创建python3 virtualenv

ll ~/.virtualenvs/mobile2/bin
total 5800
-rw-r--r--  1 ohadperry  staff   2.0K Sep  6 10:59 activate
-rw-r--r--  1 ohadperry  staff   1.0K Sep  6 10:59 activate.csh
-rw-r--r--  1 ohadperry  staff   2.1K Sep  6 10:59 activate.fish
-rw-r--r--  1 ohadperry  staff   1.1K Sep  6 10:59 activate_this.py
-rwxr-xr-x  1 ohadperry  staff   266B Sep  6 10:59 easy_install
-rwxr-xr-x  1 ohadperry  staff   266B Sep  6 10:59 …
Run Code Online (Sandbox Code Playgroud)

python virtualenv virtualenvwrapper pyenv

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

Pipenv 错误“错误的解释器:没有这样的文件或目录”

我正在尝试从 pipfile 安装需求,但是当我键入pipenv并按 Enter 键时,我收到此错误消息-bash: /Users/jkelly/.local/bin/pipenv: /usr/local/Cellar/python/3.7.0/bin/python3.7: bad interpreter: No such file or directory此 python 目录不存在。我无法执行 pipenv。

python --version返回Python 3.6.6。我使用 pyenv 管理我所有版本的 python。

这是我所有 pyenv 垫片的完整列表

/Users/jkelly/.pyenv/shims/2to3
/Users/jkelly/.pyenv/shims/2to3-3.6
/Users/jkelly/.pyenv/shims/easy_install
/Users/jkelly/.pyenv/shims/easy_install-3.6
/Users/jkelly/.pyenv/shims/idle
/Users/jkelly/.pyenv/shims/idle3
/Users/jkelly/.pyenv/shims/idle3.6
/Users/jkelly/.pyenv/shims/pip
/Users/jkelly/.pyenv/shims/pip3
/Users/jkelly/.pyenv/shims/pip3.6
/Users/jkelly/.pyenv/shims/pydoc
/Users/jkelly/.pyenv/shims/pydoc3
/Users/jkelly/.pyenv/shims/pydoc3.6
/Users/jkelly/.pyenv/shims/python
/Users/jkelly/.pyenv/shims/python-config
/Users/jkelly/.pyenv/shims/python3
/Users/jkelly/.pyenv/shims/python3-config
/Users/jkelly/.pyenv/shims/python3.6
/Users/jkelly/.pyenv/shims/python3.6-config
/Users/jkelly/.pyenv/shims/python3.6m
/Users/jkelly/.pyenv/shims/python3.6m-config
/Users/jkelly/.pyenv/shims/pyvenv
/Users/jkelly/.pyenv/shims/pyvenv-3.6
Run Code Online (Sandbox Code Playgroud)

pipenv 是通过 pipi 安装的。这个错误似乎与 Pipfile 无关。我必须在某处有一个配置不正确的路径。

export PATH=/Users/jkelly/.local/bin:$PATH
export PYENV_SHELL=bash
eval "$(pyenv init -)"
export PATH="/usr/local/opt/mongodb@3.6/bin:$PATH"
export PATH="/usr/local/opt/node@6/bin:$PATH"
export PATH="/usr/local/opt/gettext/bin:$PATH"

export NVM_DIR="$HOME/.nvm"
[ -s …
Run Code Online (Sandbox Code Playgroud)

python path pyenv pipenv

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

如何在 Microsoft Windows 10 中使用 pyenv/pyenv-win 安装 python 版本?

总长DR

我无法使用 pyenv-win 安装 3.6.10,只能安装 3.6.8 ref

虽然我无法使用ref将其变成全局 python 版本pyenv global

细节

我按照此处的指导安装了 pyenv-win ,但失败,输出如下。既然您知道修复方法,请分享。

ps 我也在 pyenv-win github home 上发布了这个

:: [错误] :: 404 :: 找不到文件

我的完整命令和输出如下

PS C:\Users\namgivu> pyenv install 3.6.10
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Downloading] ::  3.6.10 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.6.10/python-3.6.10.exe
:: [Downloading] ::  To   C:\Users\namgivu\.pyenv\pyenv-win\install_cache\python-3.6.10.exe
:: [ERROR] :: 404 :: file not found
Run Code Online (Sandbox Code Playgroud)

用3.6.8重试,可以成功;尽管无法pyenv global将其设置为让我的 Windows 操作系统全局使用此 3.6.8,而不是之前安装的 3.7.7。这个问题也可以在这里讨论

PS C:\Users\namgivu> pyenv install …
Run Code Online (Sandbox Code Playgroud)

python multiple-versions windows-10 pyenv

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

仍然找到安装了 pyenv 的系统 python - 安装模块

在当前操作系统的 Mac 上,系统 python 仍然是 2.7。我已经安装了 pyenv,并成功安装了 3.7.3。

\n
dandonaldson@Dans-MacBook-Pro-2 gpt-2 % pyenv local\n3.7.3\ndandonaldson@Dans-MacBook-Pro-2 gpt-2 % pyenv global\n3.7.3\ndandonaldson@Dans-MacBook-Pro-2 gpt-2 % \n
Run Code Online (Sandbox Code Playgroud)\n

如果我现在尝试安装 pipx,作为安装软件包的一种方式,我得到

\n
dandonaldson@Dans-MacBook-Pro-2 gpt-2 % pip install --user pipx \nDEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support\nCollecting …
Run Code Online (Sandbox Code Playgroud)

python module python-3.x pyenv

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

为什么 Pipenv 没有选择我的 Pyenv 版本?

我的系统 Python 版本是 3.8.5,但是我使用 pyenv 来管理附加版本 3.6.0,以镜像我的项目部署到的服务器版本。我以前使用 virtualenv + virtualenvwrapper 来管理我的虚拟环境,但我听说过 pipenv 很棒的东西,我想我会试一试。在我尝试使用 Python 3.6.0 之前,一切都很好。流程是这样的:

$ mkdir test_project && cd test_project
$ pyenv shell 3.6.0
$ pipenv install django
Creating a virtualenv for this project…
Pipfile: /home/user/projects/test_project/Pipfile
Using /home/user/.pyenv/shims/python (3.6.0) to create virtualenv…
? Creating virtual environment...created virtual environment CPython3.8.5.final.0-64 in 130ms
  creator CPython3Posix(dest=/home/user/.local/share/virtualenvs/test_project-eAvoynKo-/home/user, clear=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/user/.local/share/virtualenv)
    added seed packages: pip==20.2.3, setuptools==50.3.0, wheel==0.35.1
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

? Successfully created virtual environment! 
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python pyenv pipenv

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

使用 M1 mac 管理两种架构上的多个 python 版本

是否可以使用诸如此类的工具在 M1 macbook 上安装具有不同架构的 2 个不同版本的 python pyenv

例如,我想要3.9.1在 ARM 和3.8.5x86 上(通过 Rosetta)。

pyenv已经安装了新的homebrew 3.0.0. 这样,我就可以为 ARM 安装 3.9.1 ( pyenv install 3.9.1)。我现在可以通过罗塞塔获得另一个版本吗?

python homebrew pyenv apple-silicon apple-m1

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

预提交未找到 python 包

我使用pyenv来支持拥有不同版本的 python。

在使用 python 3.7的项目中,我还希望在进行代码更改时使用预提交进行linting 。

但是当 lint 规则运行时,预提交似乎正在用户下的缓存文件夹中查找 python 包,因此无法找到它们......即使它们安装在系统级别。例如:

>git ci -m'lint test'  
...
...
/Users/[]/.cache/pre-commit/repo180cws4u/py_env-python3.7/lib/python3.7/site-packages/ 
...
ModuleNotFoundError: No module named 'six'


>pip list | grep six
six                 1.11.0
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题。(一位同事通过运行/Users/[]/.cache/pre-commit/repo180cws4u/bin/python install -m six解决了问题,但感觉不对..必须可以配置为使用系统包或类似的......?

python pre-commit pyenv pre-commit.com

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

在 Kali Linux 中,为什么我在 /usr/bin/ 中只看到 python2 和 python3 二进制文件(不是“python”二进制文件)并得到“python 命令未找到”

我正在运行最新版本的 Kali Linux:

\n
uname -a                           \nLinux User 5.14.0-kali4-amd64 #1 SMP Debian 5.14.16-1kali1 (2021-11-05) x86_64 GNU/Linux\n
Run Code Online (Sandbox Code Playgroud)\n

它已经随 Python 3.9.8 一起提供了。但我需要安装Python 2.7。所以我首先安装了它sudo apt install python2.7.18.但是发生了以下情况:

\n
python -V        \nCommand \'python\' not found, did you mean:\n  command \'python3\' from deb python3\n  command \'python\' from deb python-is-python3\n\npython2 -V  \nPython 2.7.18\n\npython3 -V       \nPython 3.9.8\n
Run Code Online (Sandbox Code Playgroud)\n

还:

\n
which python\npython not found\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试过的:

\n

我检查了/usr/opt//usr/bin/等位置/usr/share/。我检查/usr/bin并找到了 python2 和 python3 二进制文件:

\n

在此输入图像描述

\n

所以我估计是python环境变量没有设置。我添加python=/usr/bin/python2 …

python linux python-2.x pyenv kali-linux

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