Cha*_*ker 17 python macos bash matplotlib
我刚刚发现matplotlib
虚拟环境存在问题.我尝试了常见问题解答中的解决方案,但它们无效.一个理想的解决方案应该只涉及pip
命令,但要求它可能是困难的或不现实的.无论如何,我尝试了他们在OS X部分上的内容,framework
在你的venv
文件夹中创建一个bash文件并通过它运行命令.
$ frameworkpython krls.py
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到了一个允许deniel错误:
Permission denied
Run Code Online (Sandbox Code Playgroud)
我有点害怕sudoing命令,我不是100%他们做什么...无论如何,似乎bash脚本没有做任何太危险的事情所以我继续前进并sudo-ed它.然而,我的终端的反应很奇怪,它说:
sudo frameworkpython krsl.py
sudo: frameworkpython: command not found
Run Code Online (Sandbox Code Playgroud)
这意味着它不能识别frameworkpython
为命令.没有sudo,它说:
frameworkpython 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
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
所以我尝试了下一个使用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/
Run Code Online (Sandbox Code Playgroud)
之后我尝试使用WX Phonix的下一个选项.不幸的是,我经历了他们的网站,无法找到如何做到这一点.
Ped*_*ori 11
更新:
使用Python3,您可以使用virtualenv
via 的内置实现-m venv
:
python -m venv <name of virtualenv>
source <name of virtualenv>/bin/activate
Run Code Online (Sandbox Code Playgroud)
Python3的内置实现构建了virtualenv,使得Python被设置为框架,因此不需要配置任何东西来使其工作.更多细节在这里.
原答案:
如您引用的FAQS中所述,您需要在其中创建frameworkpython
脚本venv/bin
.看起来您的系统无法找到,frameworkpython
因此它不在您的系统上$PATH
或者不可执行.
确保通过以下方式使这些脚本可执行chmod +x venv/bin/frameworkpython
!
从Linux/Unix文档(我添加了粗体):
PATH是Linux和其他类Unix操作系统中的环境变量,它告诉shell哪些目录可以搜索可执行文件.
您的系统将只查找可通过环境变量访问的可执行文件PATH
,跳过非可执行文件.
创建frameworkpython
脚本是必要的,因为matplotlib
需要python的框架构建.从上面的链接:
不幸的是,即使从Python的框架构建中创建,virtualenv也会创建非框架构建.
这是另一篇文章,详细介绍了框架构建
小智 5
如果您使用的是Python 2.x,请在虚拟环境中使用以下命令:
import matplotlib
matplotlib.use(‘TkAgg’)
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
这使得matplotlib也可以在虚拟环境中工作。
我希望这有帮助。
归档时间: |
|
查看次数: |
6907 次 |
最近记录: |