我遇到了这个问题ImportError numpy / core / multiarray.so:未定义符号:PyUnicodeUCS2_AsASCIIString在pyenv-virtualenv环境中安装Python 。
就我而言,它发生在matplotlib软件包而不是numpy(如上述问题中),但这基本上是相同的问题。
该问题给出的答案很简单:
针对构建为UCS-4的Python重建NumPy。
我不知道该怎么做。在另一个问题中,有人说必须使用:
./configure --enable-unicode=ucs4
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何与pyenv一起使用该命令。
在pyenv回购问题列表中也提到了此问题,并在注释中给出了解决方案。可悲的是(对我而言)我不明白如何应用所说评论中解释的修复程序。
所以我的问题基本上是:如何通过将Python构建为UCS-4 pyenv?
如标题所述,以下配置不启用代理。
export http_proxy="socks5://127.0.0.1:1080"
export http_proxys="socks5://127.0.0.1:1080"
pyenv install 3.5.2
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?
我正在研究在我们的项目中升级到Python 3.6的可能性.
现在我们ppa:fkrull/deadsnakes在Ubuntu 14.04上使用Python 3.5.2 .PPA还没有Python 3.6,它还不清楚什么时候可用.
我不想再安装另一个PPA.
我正在努力寻找一种更通用的方法.
我发现人们建议使用pyenv从源代码编译Python,这听起来很有趣,因为我可以随时升级Python,而无需等到repo维护者添加它.此外,我可以轻松安装其他Python风格,如PyPy.
我还没准备好将pyenv用作虚拟环境,所以我想知道是否可以使用它来全局编译和安装Python,以便我可以使用它.
我曾经3.8-dev安装过Python pyenv,但后来我卸载了这个版本。现在我只3.7.5安装在我的机器上。pyenv versions结果:
现在我相信全球默认也是3.7.5。然而,当我使用 NeoVim 或 Vim 打开 python 文件时,它仍然从底部栏显示,Python 3.8.1 64-bit尽管我相信我在这台机器上根本没有该版本。知道为什么会发生这种情况吗?我相信这是因为 Vim 仍然认为我有该3.8.1版本,但不知道如何修复它。谢谢!
Vim v8.1
NeoVim v0.4.3
在 Ubuntu 14.04 上编译 Python 3.7 及更高版本无法开箱即用。这是因为 Ubuntu 14.04 基于 OpenSSL 1.0.1,而 Python 3.7 需要 OpenSSL 1.0.2 及更高版本。
不涉及 3rd 方 PPA 的最佳解决方案是什么?
我正在尝试使用 pyenv 准备多版本 python 开发环境。我已经成功安装了 pyenv。我通过 homebrew 安装了 pyenv ( https://github.com/pyenv/pyenv#homebrew-on-macos )。但是当我尝试安装 python 版本时,遇到了错误:
\n\xe2\x9e\x9c live_xr_cms_api git:(dev) \xe2\x9c\x97 pyenv install 3.9.6\npython-build: use openssl@1.1 from homebrew\npython-build: use readline from homebrew\nDownloading Python-3.9.6.tar.xz...\n-> https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz\nInstalling Python-3.9.6...\npython-build: use readline from homebrew\npython-build: use zlib from xcode sdk\nWARNING: The Python readline extension was not compiled. Missing the GNU readline lib?\nERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?\n\nPlease consult to the Wiki page to fix the problem.\nhttps://github.com/pyenv/pyenv/wiki/Common-build-problems\n\n\nBUILD FAILED (OS X 11.4 using python-build …Run Code Online (Sandbox Code Playgroud) 我在 Kaggle 上腌制了一个模型,并尝试下载它在本地运行。我使用诗歌和 pyenv 运行以下命令来创建项目:
pyenv local 3.6.6
poetry new model_api
cd model_test
poetry env use python
poetry add "sklearn>=0.21.3"
Run Code Online (Sandbox Code Playgroud)
但收到以下错误。
如果我只是使用 sklearn 并将其与诗歌一起安装,那么在 VS Code 中执行代码时会出现此错误。
/bin/python /home/gary/Documents/model_api/model_api/app.py
Traceback (most recent call last):
File "/home/gary/Documents/model_api/model_api/app.py", line 5, in <module>
model = pickle.load(f)
ModuleNotFoundError: No module named 'sklearn.ensemble.forest'
Run Code Online (Sandbox Code Playgroud)
这是我尝试运行的代码。
import sklearn
import pickle
f = open('./model/ForestModel','rb')
model = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)
根据我在 Kaggle 上看到的内容,我尝试使用 Python 3.6.6 和 sklearn 0.21.3:

如果我尝试使用更新版本的 Python(例如 3.8.10),我会收到相同的错误。我想我错过了一些简单/明显的东西。任何我可以检查的指示或事情将不胜感激。
让我们留下我pipenv用来创建虚拟环境的方法。在设置时,在Pipfile中指定python版本,同时PIPENV_VENV_IN_PROJECT设置环境变量,以便.venv在项目文件夹中创建文件夹。
在.venv文件夹内,我发现它包含我在 pipfile 中指定的所有包,甚至还有我指定版本的 python 可执行文件。
如果我将我的脚本和这个.venv文件夹复制到另一台没有安装 Python 的机器上,我如何只使用该.venv文件夹运行我的脚本?那里有一个 Python 可执行文件,但我正试图弄清楚如何正确获取所有 lib 文件夹。
这甚至可能吗?我知道存在替代方法(例如使用 Cython/CXFreeze/etc 预编译代码。)但我想知道只使用虚拟环境文件夹。
pyenv ×8
python ×6
virtualenv ×2
neovim ×1
openssl ×1
pickle ×1
pipenv ×1
python-3.6 ×1
python-3.7 ×1
python-venv ×1
scikit-learn ×1
ubuntu-14.04 ×1
ucs ×1
ucs-4 ×1
ucs2 ×1
vim ×1
zsh ×1