2012-09-25 21 views
17

Tôi là người mới tạo/vẽ trên bản đồ với python, đang cố gắng theo dõi blog này để tạo bản đồ thế giới (http://sciblogs.co.nz/seeing- dữ liệu/2011/08/12/âm mưu-địa lý-dữ liệu-on-a-world-map-với-python /). Bị kẹt với một số thứ ở đây:Không thể tìm thấy OSError geos_c khi Cài đặt Shapely

  1. Cài đặt sơ đồ cơ sở (phần mở rộng Matplotlib để vẽ dữ liệu trên dự báo địa lý).

    from mpl_toolkits.basemap import Basemap 
    Traceback (most recent call last): 
    File "geos_demo.py", line 1, in <module> 
    from mpl_toolkits.basemap import Basemap 
    ImportError: No module named mpl_toolkits.basemap 
    
  2. Cài đặt kiểu dáng cân đối, nhưng các lỗi sau xảy ra [1]:

  3. Sau đó, tôi đi vào các tập tin geos.py và thay đổi tất cả các tài liệu tham khảo của geos.dll để geos_c.dll, theo khuyến cáo theo liên kết tại đây: http://osgeo-org.1560.n6.nabble.com/osgeo4w-258-Problems-with-python-shapely-python-2-7-2-td4336816.html

  4. Tuy nhiên, cùng một lỗi [1] xảy ra.

Tôi đang sử dụng Python 2.7.1 và Mac OS 10.7.4. Vui lòng cho tôi biết nếu tôi có thể cung cấp thêm thông tin và thực sự đánh giá cao bất kỳ hướng dẫn nào từ cộng đồng tại đây! Cảm ơn!

[1]

from shapely.geometry import Point 
    Traceback (most recent call last): File "<stdin>", line 1, in <module> 
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/__init__.py", line 4, in <module> 
    from geo import box, shape, asShape, mapping 
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/geo.py", line 5, in <module> 
    from point import Point, asPoint 
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/point.py", line 7, in <module> 
    from shapely.coords import required 
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/coords.py", line 8, in <module> 
    from shapely.geos import lgeos 
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 59, in <module> 
    _lgeos = load_dll('geos_c', fallbacks=alt_paths) 
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 44, in load_dll 
    libname, fallbacks or [])) 
    OSError: Could not find library geos_c or load any of its variants  ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS', '/opt/local/lib/libgeos_c.dylib'] 

Trả lời

2

Vấn đề dường như là bạn chưa thực sự được cài đặt các module cần thiết.

dòng mã Python như

from mpl_toolkits.basemap import Basemap 

Are báo cáo nhập khẩu mà nói với kịch bản của bạn sử dụng các module (hoặc bit khác của mã Python) mà bạn cần phải đã cài đặt.

Đối với mỗi gói được đề cập (NumPy, Matplotlib, Basemap), bạn sẽ phải tìm ra cách cài đặt chúng trên hệ thống của bạn. Trong trường hợp NumPy và Matplotlib, điều này có thể phức tạp vì chúng yêu cầu biên dịch. Ví dụ: these are theNumpy instructions.

Nếu bạn chỉ muốn thử chơi với các hướng dẫn trong bài đăng trên blog đó thì bạn có thể sử dụng một dịch vụ như PythonAnywhere which has numpy, matplotlib, and basemap installed already. (từ chối trách nhiệm, tôi làm việc trên PythonAnywhere ...)

+0

Cảm ơn @aychedee.Tôi đã cài đặt numpy và không thể tìm ra basemap. PythonAnywhere có giúp cài đặt bản đồ cơ sở cùng với các thư viện khác không? – msunbot

+0

Xin chào Michelle, sơ đồ trang web thực sự đã được cài đặt như một gói tiêu chuẩn. Sự khác biệt duy nhất trong việc hướng dẫn hoàn thành đó là bạn sẽ phải lưu cốt truyện dưới dạng tệp và sau đó tải xuống thay vì hiển thị trực tiếp. – aychedee

14

Đối với câu hỏi 2-4, bạn phải cài đặt GEOS trên hệ thống của mình. Nếu bạn có homebrew bạn có thể làm như sau:

brew install geos

Cài đặt homebrew đây nếu bạn không có nó: http://mxcl.github.com/homebrew/

+0

Điều này giải quyết được vấn đề cho tôi – Sjoerd

+1

Tôi vẫn nhận được lỗi tương tự sau khi thực hiện cài đặt bản địa hóa: OSError: Không thể tìm thấy thư viện geos_c hoặc tải bất kỳ biến thể nào của nó ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS' , '/opt/local/lib/libgeos_c.dylib'] –

+0

Làm tốt lắm, giải quyết vấn đề cho tôi. Cảm ơn! – aBiologist

12

Trên Ubuntu, để cài đặt GEOS, điều này đã làm việc cho tôi:

$ sudo apt-get install libgeos-dev 
3

Với OS X 10.11 (El Capitan) và Boxen, tôi đã làm điều này:

brew install geos 
sudo mkdir /opt/local 
sudo ln -s /opt/boxen/homebrew/lib /opt/local/lib 

để cho Shapely tìm thấy libgeos_c.dylib ở một trong các vị trí mà họ sẵn sàng tìm kiếm.

+0

Tôi gặp sự cố khi tải bản đồ để chạy với libgeos được cài đặt fink và phải sử dụng mẹo này để giải quyết vấn đề - cảm ơn gợi ý! – user1718097