2014-12-16 22 views
11

Trong myria-python, chúng tôi sử dụng công cụ thiết lập với install_requires để định cấu hình gói nào là cần thiết. Trong số setup file cụ thể của chúng tôi, chúng tôi bao gồm requests-toolbeltrequests trong danh sách đó.setuptools tìm thấy gói sai trong khi cài đặt

Khi chúng tôi tạo môi trường ảo mới và sau đó chạy python setup.py install, lần đầu tiên không thành công với Cannot find required distribution requests. Điều này xảy ra dường như vì pip xác định requests toolbelt-0.3.1 (lưu ý khoảng trống) làm kết quả phù hợp cho gói requests.

Chạy lại python setup.py install một lần nữa dường như cài đặt requests sau khi tất cả.

Đây là a GitHub issue bằng nhật ký đầy đủ của quá trình cài đặt.

bước để tái sản xuất:

  • git clone https://github.com/uwescience/myria-python.git
  • cd myria-python
  • mkvirtualenv myria-python
  • python setup.py

Toàn bộ phòng thí nghiệm dường như có vấn đề này, tuy nhiên tất cả chúng ta sử dụng Mac OS X với cài đặt 10.9 hoặc 10.10. Dưới đây là thông số kỹ thuật máy tính của tôi:

  • OS X 10.10.1
  • Python 2.7.9 (mặc định, 10 Tháng mười hai 2014, 23:46:04)
  • pip 1.5.6
  • mkvirtualenv 1.11. 6

tôi cũng đã có thể sao chép nó vào một trong các máy chủ Ubuntu của chúng tôi:

  • Ubuntu 14.04.1 LTS \ n \ l
  • Python 2.7.6
  • pip 1.5.4
  • mkvirtualenv 1.11.4

Dưới đây là đuôi của các bản ghi lỗi:

Searching for requests-toolbelt 
Reading https://pypi.python.org/simple/requests_toolbelt/ 
Best match: requests-toolbelt 0.3.1 
Downloading https://pypi.python.org/packages/source/r/requests-toolbelt/requests-toolbelt-0.3.1.tar.gz#md5=e563377e46cd0be8c7b3ac144a65844c 
Processing requests-toolbelt-0.3.1.tar.gz 
Writing /var/folders/m_/qltd_g_13qd1v5tvr4l6q2rc0000gn/T/easy_install-2lqn7g/requests-toolbelt-0.3.1/setup.cfg 
Running requests-toolbelt-0.3.1/setup.py -q bdist_egg --dist-dir /var/folders/m_/qltd_g_13qd1v5tvr4l6q2rc0000gn/T/easy_install-2lqn7g/requests-toolbelt-0.3.1/egg-dist-tmp-riz25e 
no previously-included directories found matching '*.pyc' 
warning: manifest_maker: MANIFEST.in, line 6: 'recursive-include' expects <dir> <pattern1> <pattern2> ... 

warning: manifest_maker: MANIFEST.in, line 7: 'recursive-include' expects <dir> <pattern1> <pattern2> ... 

no previously-included directories found matching 'docs/_build' 
zip_safe flag not set; analyzing archive contents... 
Adding requests-toolbelt 0.3.1 to easy-install.pth file 

Installed /Users/dhalperi/Envs/myria-python2/lib/python2.7/site-packages/requests_toolbelt-0.3.1-py2.7.egg 
Searching for requests 
Best match: requests toolbelt-0.3.1 
Downloading https://pypi.python.org/packages/source/r/requests-toolbelt/requests-toolbelt-0.3.1.tar.gz#md5=e563377e46cd0be8c7b3ac144a65844c 
Processing requests-toolbelt-0.3.1.tar.gz 
Writing /var/folders/m_/qltd_g_13qd1v5tvr4l6q2rc0000gn/T/easy_install-LKxX9E/requests-toolbelt-0.3.1/setup.cfg 
Running requests-toolbelt-0.3.1/setup.py -q bdist_egg --dist-dir /var/folders/m_/qltd_g_13qd1v5tvr4l6q2rc0000gn/T/easy_install-LKxX9E/requests-toolbelt-0.3.1/egg-dist-tmp-3tgz5e 
no previously-included directories found matching '*.pyc' 
warning: manifest_maker: MANIFEST.in, line 6: 'recursive-include' expects <dir> <pattern1> <pattern2> ... 

warning: manifest_maker: MANIFEST.in, line 7: 'recursive-include' expects <dir> <pattern1> <pattern2> ... 

no previously-included directories found matching 'docs/_build' 
zip_safe flag not set; analyzing archive contents... 
requests-toolbelt 0.3.1 is already the active version in easy-install.pth 

Installed /Users/dhalperi/Envs/myria-python2/lib/python2.7/site-packages/requests_toolbelt-0.3.1-py2.7.egg 
error: Could not find required distribution requests 

Làm thế nào tôi có thể sửa chữa điều này để gói cài đặt mà không cần chạy setup.py hai lần?

+1

Bạn có đang chạy 'python setup.py install' và sau đó' pip setup.py install' hoặc bạn đang chạy 'python setup.py install' hai lần chưa? Trong câu hỏi của bạn, trước tiên bạn tham khảo Python trực tiếp và sau đó đến Pip. – Timusan

+0

Cảm ơn @Timusan; Tôi đã đánh máy 'pip' thay vì' python'. Tôi đang chạy 'python setup.py install' hai lần. –

+1

Tôi nghĩ rằng tôi đã thấy một trong những dự án của riêng tôi. Nó có thể là một lỗi trong pip (hoặc phần mềm liên quan) liên quan đến phân tích phiên bản. Có thể thử theo dõi vấn đề pip? Ngoài ra đôi khi có sự nhầm lẫn về chữ hoa và chữ thường và dấu gạch ngang so với dấu gạch dưới trong tên gói gây nhầm lẫn cho trình cài đặt packacge của Python, mặc dù gần đây pip đã hoạt động tốt. –

Trả lời

3

(gương từ https://github.com/uwescience/myria-python/pull/35)

Nhiều giờ 100 của tìm kiếm của Google cuối cùng đưa tôi đến this NumPy:

https://github.com/numpy/numpy/issues/2434

mà họ đã phải thêm NumPy để setup_requiresinstall_requires để khắc phục sự cố tương tự. Làm điều này với các yêu cầu dường như đã hoạt động.Tuy nhiên, tôi hơi phần hoài nghi như @Timusan đã nêu ở trên không thấy vấn đề của chúng tôi ở địa điểm đầu tiên .

Tôi đã thử trên máy Mac cũng như trên Ubuntu và giờ đây có thể cài đặt từ virtualenv sạch trên cả hai hệ thống.

0

Như những người khác đã đề cập trong các ý kiến, nguyên nhân gốc rễ là một phiên bản lỗi của python/pip. Vấn đề này tồn tại với python 2.7.6, nhưng khi tôi nâng cấp lên 2.7.9 đã không còn là vấn đề nữa. Ngoài ra hãy cẩn thận rằng mkirtualenv theo mặc định sử dụng trăn trong /usr/bin/python, ngay cả khi có các phiên bản python khác tiếp tục trong $PATH.

+0

Hmm. OS X của chúng tôi có 2.7.9 và virtualenv không sử dụng phiên bản được cài đặt sẵn của Python 2.7.9, không phải hệ thống của Apple 2.7.6. '(myria-python) dhalperi @ dhm myria-python% python --version' trả về' Python 2.7.9' –

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