gpt4 book ai didi

python - 使 OSX 中的 matplotlib 在虚拟环境中工作的最简单方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 16:54:13 24 4
gpt4 key购买 nike

我刚刚发现 matplotlib 存在虚拟环境问题。我尝试了 FAQs 中的解决方案但他们没有工作。一个理想的解决方案应该只涉及 pip 命令,但要求这样做可能很难或不现实。无论如何,我尝试了他们在 OS X 部分的内容,在您的 venv 文件夹中制作一个 framework bash 文件并通过它运行命令。

$ frameworkpython krls.py

当我这样做时,我得到了一个权限拒绝错误:

Permission denied

我有点害怕 sudo 命令,因为我不是他们 100% 做的事……不管怎样,bash 脚本似乎没有做任何太危险的事情,所以我继续对它进行 sudo。然而,我的终端的响应很奇怪,它说:

sudo frameworkpython krsl.py
sudo: frameworkpython: command not found

这意味着它无法将 frameworkpython 识别为命令。如果没有 sudo,它会说:

框架python krsl.py-bash:/Users/my_name/path/venv/bin/frameworkpython: 权限被拒绝

它似乎将 frameworkpython 识别为一个命令(?),但由于权限原因它没有执行它?我觉得很奇怪。有人有什么想法吗?


我也试过:

$ pip install TKAgg
Collecting TKAgg
Could not find a version that satisfies the requirement TKAgg (from versions: )
No matching distribution found for TKAgg

但是没有用。

所以我尝试了下一个使用 PySide 的选项,它也不起作用并给出了一个巨大的错误输出:

$ pip install pyside
Collecting pyside
Using cached PySide-1.2.4.tar.gz
Building wheels for collected packages: pyside
Running setup.py bdist_wheel for pyside ... error
Complete output from command /Users/my_name/path/venv/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-build-_yzDki/pyside/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/tmpUR9qFCpip-wheel- --python-tag cp27:
Removing /private/var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-build-_yzDki/pyside/pyside_package
running bdist_wheel
running build
Python architecture is 64bit
error: Failed to find cmake. Please specify the path to cmake with --cmake parameter.

----------------------------------------
Failed building wheel for pyside
Running setup.py clean for pyside
Failed to build pyside
Installing collected packages: pyside
Running setup.py install for pyside ... error
Complete output from command /Users/my_name/path/venv/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-build-_yzDki/pyside/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-UVA_F4-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/my_name/path/venv/bin/../include/site/python2.7/pyside:
Removing /private/var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-build-_yzDki/pyside/pyside_package
running install
running build
Python architecture is 64bit
error: Failed to find cmake. Please specify the path to cmake with --cmake parameter.

----------------------------------------
Command "/Users/my_name/path/venv/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-build-_yzDki/pyside/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-UVA_F4-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/my_name/path/venv/bin/../include/site/python2.7/pyside" failed with error code 1 in /private/var/folders/nr/rxlk6w192hx8r74813yg6r500000gn/T/pip-build-_yzDki/pyside/

在那之后我尝试了下一个选项使用 WX Phonix .不幸的是,我浏览了他们的网站,但找不到如何操作。

最佳答案

更新:

使用Python3,你可以通过-m venv使用virtualenv的内置实现:

python -m venv <name of virtualenv>
source <name of virtualenv>/bin/activate

Python3 的内置实现构建了 virtualenv,这样 Python 就被设置为一个框架,因此无需配置任何东西就可以让它工作。更多详情 here .


原答案:

FAQS you reference 中所述,您需要在 venv/bin 中创建一个 frameworkpython 脚本。看起来您的系统无法找到 frameworkpython,因此它要么不在您的系统 $PATH 上,要么不可执行。

确保通过 chmod +x venv/bin/frameworkpython 使此脚本可执行!

来自 Linux/Unix docs (我添加了粗体):

PATH is an environmental variable in Linux and other Unix-like operating systems that tells the shell which directories to search for executable files.

您的系统将查找可通过PATH 环境变量访问的可执行 文件,跳过不可执行文件。


创建 frameworkpython 脚本是必要的,因为 matplotlib 需要 python 的框架构建。从上面的链接:

Unfortunately virtualenv creates a non framework build even if created from a framework build of Python.

这是另一个 post有关框架构建的更多详细信息

关于python - 使 OSX 中的 matplotlib 在虚拟环境中工作的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38090455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com