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-toolbelt
và requests
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?
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
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. –
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. –