我刚刚发现matplotlib与虚拟环境存在问题。我尝试了FAQs中的解决方案,但它们没有起作用。理想的解决方案应该只涉及pip命令,但是要求这样做可能很难或不现实。不管怎样,我尝试了OSX部分中的方法,在您的文件夹中创建一个frameworkbash文件,并通过它运行命令。

$ frameworkpython krls.py

当我这样做的时候,我得到了一个许可Deniel错误:
Permission denied

我有点害怕sudoing命令,我不是他们100%做的事情……不管怎样,似乎bash脚本没有做任何太危险的事情,所以我继续sudo。然而,我的终端的反应很奇怪,它说:
sudo frameworkpython krsl.py
sudo: frameworkpython: command not found

这意味着它不能将venv识别为命令。如果没有sudo,它会说:
框架工作时间krsl.py
-bash:/users/my_name/path/venv/bin/frameworkython:权限被拒绝
它似乎将frameworkython识别为命令(?)但由于权限原因它没有执行?我觉得很奇怪。有什么想法吗?
我也试过:
$ 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,您可以使用内置的实现virtualenvvia-m venv

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

python3的内置实现构建了virtualenv,从而将python设置为一个框架,因此无需配置任何东西即可使其工作。更多详细信息here
原始答案:
FAQS you reference中所述,您需要在frameworkpython中创建一个venv/bin脚本。看起来您的系统找不到frameworkpython所以它不在您的系统上,或者它不可执行。
请确保通过$PATH使此脚本可执行!
Linux/Unix docs(我加了粗体):
在Linux和其他类似Unix的操作系统中,path是一个环境变量,它告诉shell要搜索可执行文件的目录。
系统将只查找可通过chmod +x venv/bin/frameworkpython环境变量访问的可执行文件,跳过不可执行文件。
创建PATH脚本是必需的,因为frameworkpython需要python的框架构建。从上面的链接:
不幸的是,virtualenv创建了一个非框架构建,即使是从python的框架构建中创建的。
下面是另一个关于框架构建的详细信息

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

10-12 22:26