2016-09-07 24 views
7

Khi tôi làmLỗi trong pip cài đặt matplotlib trong Mac

pip install matplotlib --upgrade --user 

Tôi không nhận được bất kỳ lỗi nhưng chương trình của tôi không nói

Traceback (most recent call last): 
    File "forest.py", line 22, in <module> 
    matplotlib.style.use('ggplot') 
AttributeError: 'module' object has no attribute 'style' 

khi tôi cố gắng để nâng cấp matplotlib mà không --user tôi nhận được sau lỗi

$ pip install matplotlib --upgrade 
Collecting matplotlib 
    Using cached matplotlib-1.5.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 
Requirement already up-to-date: cycler in /Users/vangapellisanthosh/Library/Python/2.7/lib/python/site-packages (from matplotlib) 
Collecting pyparsing!=2.0.0,!=2.0.4,!=2.1.2,>=1.5.6 (from matplotlib) 
    Using cached pyparsing-2.1.8-py2.py3-none-any.whl 
Collecting pytz (from matplotlib) 
    Using cached pytz-2016.6.1-py2.py3-none-any.whl 
Collecting numpy>=1.6 (from matplotlib) 
    Using cached numpy-1.11.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 
Collecting python-dateutil (from matplotlib) 
    Using cached python_dateutil-2.5.3-py2.py3-none-any.whl 
Collecting six (from cycler->matplotlib) 
    Using cached six-1.10.0-py2.py3-none-any.whl 
Installing collected packages: pyparsing, pytz, numpy, six, python-dateutil, matplotlib 
    Found existing installation: pyparsing 2.0.1 
    DEPRECATION: Uninstalling a distutils installed project (pyparsing) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. 
    Uninstalling pyparsing-2.0.1: 
Exception: 
Traceback (most recent call last): 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/basecommand.py", line 215, in main 
    status = self.run(options, args) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/commands/install.py", line 317, in run 
    prefix=options.prefix_path, 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py", line 736, in install 
    requirement.uninstall(auto_confirm=True) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_install.py", line 742, in uninstall 
    paths_to_remove.remove(auto_confirm) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove 
    renames(path, new_path) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py", line 267, in renames 
    shutil.move(old, new) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move 
    copy2(src, real_dst) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2 
    copystat(src, dst) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat 
    os.chflags(dst, st.st_flags) 
OSError: [Errno 1] Operation not permitted: '/var/folders/7j/19zzrqpn5dl6ghw1pms6k2m80000gp/T/pip-FEDiKY-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pyparsing-2.0.1-py2.7.egg-info' 

Làm cách nào để giải quyết?

Trả lời

1

Dường như lỗi đầu tiên của bạn là vì bạn đang tìm kiếm kiểu trong matplotlib và không phải là matplotlib.pyplot. Thông thường, nó sẽ làm việc anyway nhưng hãy thử điều này.

Hãy thử thay đổi này:

matplotlib.style.use('ggplot') 

Bằng cách thêm này vào đầu của mã của bạn:

import matplotlib.pyplot as plt 

Sau đó sử dụng:

plt.style.use('ggplot') 

Đối với lỗi thứ hai, pip cố gắng gỡ bỏ cài đặt pyparsing nhưng bằng cách nào đó không có sự cho phép. Nếu bạn là quản trị hãy thử sử dụng:

sudo pip install matplotlib --upgrade 
13

Hãy thử

sudo pip install matplotlib --upgrade --ignore-installed six 

Sử dụng pip để cài đặt các gói nhất định cho OS X El Capitan hoặc cao hơn đã sinh ra generic problem này. Hy vọng rằng giải pháp này phù hợp với bạn vì nó đã làm việc cho tôi.

+0

Ngoài ra, hãy chắc chắn kiểm tra xem bạn có nâng cấp lên phiên bản matplotlib phiên bản 1.4 trở lên hay không, vì tính năng 'kiểu' là một tính năng khá gần đây. Bạn có thể kiểm tra điều này bằng cách nhập vào 'matplotlib .__ version__' – kendama

+0

Cảm ơn bạn! Lệnh này đã giúp rất nhiều. Tôi nghĩ rằng thành phần 'sáu' có thể không hoàn thành, vì vậy khi nâng cấp, chúng ta chỉ cần bỏ qua nó –

1

Xây dựng dựa trên câu trả lời của Kendama. Tôi đã có cùng một vấn đề trên macOS (ngoại lệ trong khi Gỡ cài đặt pyparsing-2.0.1) trong khi cài đặt mitmproxy. Đoạn mã sau đã sửa lỗi cho tôi.

sudo pip install mitmproxy --upgrade --ignore-installed six 

Chỉ muốn đề cập đến vấn đề này không liên quan đến matplotlib, nhưng có thể xảy ra khi cài đặt bất kỳ phần mềm nào.

Các vấn đề liên quan