标签: pyenv

与 sudo 一起使用时未设置 pyenv 变量

我正在按照https://amaral.northwestern.edu/resources/guides/pyenv-tutorial安装 pyenv。

我安装了 pyenv 并更新.bash_profile

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

我添加了我的用户 和,两者都可以毫无问题地root访问。pyenv

当我运行sudo pyenv它时出现错误。

$ sudo pyenv
sudo: pyenv: command not found
Run Code Online (Sandbox Code Playgroud)

但是当我登录该用户后运行时,它工作正常。

$ sudo -i
# pyenv
pyenv 1.2.4
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set …
Run Code Online (Sandbox Code Playgroud)

python bash sudo pyenv

6
推荐指数
1
解决办法
5021
查看次数

Python:如何修复“pyenv:bash:找不到命令”

我用来pyenv管理我的 Python 环境,只需运行bash.

$ bash
pyenv: bash: command not found
Run Code Online (Sandbox Code Playgroud)

我试图解决为什么pipenv shell会出现上述错误,这就是我发现甚至bash无法工作的原因。我尝试pipenv通过更新brew并运行pyenv rehash来重新生成垫片。并且bash绝对存在。

$ which bash
/bin/bash
Run Code Online (Sandbox Code Playgroud)

我预计如果pyenv找不到命令,PATH将搜索环境变量指定的后续路径。有趣的是,如果我执行一些不存在的命令,我不会收到错误pyenv

$ someboguscommand
-bash: someboguscommand: command not found
Run Code Online (Sandbox Code Playgroud)

这对我来说意味着pyenv在这种情况下甚至不搜索匹配的命令,并且PATH搜索后续路径,因此必须对bash.

python bash pyenv

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

无法使用 pyenv 安装 python 3.6.8 -Build Failed OSX 错误

我正在尝试使用 pyenv 在我的 macbook 中安装较旧的 python 版本 3.6.8。\n不幸的是,我遇到了这个构建 OS X 错误,我无法解决该错误。\n如果有人知道我如何解决这个问题,谢谢。

\n\n
(base) \xe2\x9e\x9c  ~ pyenv install 3.6.8\npython-build: use openssl@1.1 from homebrew\npython-build: use readline from homebrew\nDownloading Python-3.6.8.tar.xz...\n-> https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz\nInstalling Python-3.6.8...\npython-build: use readline from homebrew\npython-build: use zlib from xcode sdk\n\nBUILD FAILED (OS X 10.14.6 using python-build 20180424)\n\nInspect or clean up the working tree at /var/folders/cn/d7tn5tls0jg6_dyn2853t6p40000gn/T/python-build.20200424220226.47493\nResults logged to /var/folders/cn/d7tn5tls0jg6_dyn2853t6p40000gn/T/python-build.20200424220226.47493.log\n\nLast 10 log lines:\nchecking for --with-universal-archs... no\nchecking MACHDEP... darwin\nchecking for --without-gcc... no\nchecking for --with-icc... no\nchecking for gcc... x86_64-apple-darwin13.4.0-clang\nchecking whether the C compiler works... no\nconfigure: error: …
Run Code Online (Sandbox Code Playgroud)

python homebrew pyenv

6
推荐指数
0
解决办法
717
查看次数

在 MACOS 上安装 python 2.7.8 的 pyenv 失败

我尝试为使用此 python 版本的项目安装 python 2.7.8。

但是当我使用命令时:

$ pyenv install 2.7.8 
Run Code Online (Sandbox Code Playgroud)

我有这个错误消息:

python-build: use openssl from homebrew 
python-build: use readline from homebrew 
Downloading Python-2.7.8.tar.xz...
-> https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz 
Installing Python-2.7.8... 
patching file ./Lib/site.py 
patching file ./Lib/ssl.py 
patching file ./Modules/_ssl.c 
python-build: use readline from homebrew ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
        
Please consult to the Wiki page to fix the problem. 
https://github.com/pyenv/pyenv/wiki/Common-build-problems
        
BUILD FAILED (OS X 10.13.6 using python-build 20180424)
        
Inspect or clean up the working tree at …
Run Code Online (Sandbox Code Playgroud)

python macos pyenv

6
推荐指数
0
解决办法
5982
查看次数

Poetry Shell:如何缩短 bash 前缀

当激活诗歌 python shell 时,我在 bash 提示符中收到一个非常长的字符串:

(my-current-folder-pNzYm0GW-py3.8) (base) myusername@mycomputername>
Run Code Online (Sandbox Code Playgroud)

我希望它更短,也许像这样:

(py3.8) myusername@mycomputername>
Run Code Online (Sandbox Code Playgroud)

有谁知道这是怎么做到的吗?

(我猜这base来自于系统上也安装了 miniconda,我可以通过编辑我的 来修复它.bashrc

python pyenv python-poetry

6
推荐指数
1
解决办法
1221
查看次数

pyenv-virtualenv 中的环境变量

我创建了一个用于pyenv virtualenv 3.5.9 projectname开发 django 项目的虚拟环境。

如何设置环境变量供我的代码使用?

我尝试像这样添加环境变量 DATABASE_USER /Users/developer/.pyenv/versions/projectname/bin/activate

export DATABASE_USER="dbuser"
Run Code Online (Sandbox Code Playgroud)

当我尝试echo $DATABASE_USER打印一个空字符串时。

尝试安装zsh-autoenv

现在我可以echo $DATABASE_USER获取 .autoenv.zsh 文件中设置的值。

但我似乎无法让环境变量可用于我的 django 代码:

如果我尝试os.getenv('DATABASE_USER', '')在 virtualenv 内的 python shell 中,我得到''

可能出什么问题了?zsh-autoenv 变量是否仅适用于 zsh shell,而不适用python manage.py shell

python django virtualenv pyenv

6
推荐指数
1
解决办法
4857
查看次数

安装 pyenv-win 后本地 python 版本没有改变

我最近使用文档pyenv-win在我的 Windows 计算机上进行了安装,因为我的计算机上已经安装了 Python 3.8.5。曾经将全局版本设置为3.7.6:pip pyenv

  • 运行pyenv which python返回结果C:\Users\Haydn\.pyenv\pyenv-win\versions\3.7.6\python.exe符合预期
  • 然而,运行python -V返回Python 3.8.5
  • pip -V返回pip 20.2.2 from C:\Users\Haydn\AppData\Roaming\Python\Python38\site-packages\pip (python 3.8)

安装其他软件包(例如pipenv在 Python 3.8 文件夹中这样做)会失败,需要 Python 3.7 的项目也是如此。我正在尝试找出我可能做错了什么或可能无法工作,以便pyenv在系统 3.8 上使用 3.7 版本。


安装过程中一切似乎都进展顺利:

  • pyenv --version回报pyenv 2.64.3
  • 环境变量PYENV设置为C:\Users\Haydn\.pyenv\pyenv-win\
  • C:\Users\Haydn\.pyenv\pyenv-win\bin&C:\Users\Haydn\.pyenv\pyenv-win\shims添加到Path环境变量中。

我对环境变量了解不多,但我怀疑使用安装 Python 3.7 并pyenv没有向我的Path变量添加任何内容(参见屏幕截图),因此当我调用它时,python它只是按预期移入 3.8 文件夹。我觉得pyenv应该在这里添加一些东西,但这可能不是这个包的工作原理,而其他东西很可能是原因。

路径变量的屏幕截图

在此先感谢您的帮助

python windows pyenv

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

如何使用特定(但已卸载)Python 版本在我的项目目录中创建 Python virtualenv

我是虚拟环境的粉丝,我也喜欢将我的virtualenvs 保留在项目根目录中。这有助于我跟踪它们的位置,并允许我给它们起通用名称,例如.venv.

但我需要一种方法来安装特定版本的 python 以便与我的virtualenvs 一起使用。所有的道路似乎都指向pyenv

除非我误解了如何工作pyenvpyenv-virtualenv工作,否则这个库似乎坚持将我的实际 virtualenv 埋在~/.pyenv文件夹中的某个位置,并给我留下一个.python-version我不想拥有的文件。

有没有一种方法可以方便地安装特定版本的python pyenv,然后在我的项目目录中以传统方式创建我的虚拟环境,从而在pyenv创建虚拟环境后消除我的项目的依赖?

python virtualenv pyenv pyenv-virtualenv

6
推荐指数
1
解决办法
2735
查看次数

无法在具有 M1 芯片的 MacOS Big Sur 上安装 pyenv 3.8.5?

我尝试运行 pyenv install 3.8.5 但不断收到以下错误:

python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.5.tar.xz...
-> https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
Installing Python-3.8.5...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 11.5.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/61/8hkv2j8j6x7d7ldfq1d201b80000gp/T/python-build.20211009182855.32315
Results logged to /var/folders/61/8hkv2j8j6x7d7ldfq1d201b80000gp/T/python-build.20211009182855.32315.log

Last 10 log lines:
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... no
checking size of time_t... 8 …
Run Code Online (Sandbox Code Playgroud)

python homebrew pyenv apple-silicon apple-m1

6
推荐指数
1
解决办法
1万
查看次数

“pyenv versions”和“python -V”显示不同的版本

我需要使用Python 3.8。我使用以下命令安装它:

pyenv install 3.8.1
Run Code Online (Sandbox Code Playgroud)

现在的输出pyenv versions是:

  system
* 3.8.1 (set by /Users/username/.pyenv/version)
Run Code Online (Sandbox Code Playgroud)

输出python -V

Python 2.7.16
Run Code Online (Sandbox Code Playgroud)

为什么它们不同?

python python-2.7 pyenv python-3.8

6
推荐指数
1
解决办法
4186
查看次数