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