2015-03-11 17 views
9

Tôi đang di chuyển từ python2 sang python3.pip không thấy trình thiết lập

Tôi tạo ra một virtualenv với python3 -m venv py3 và đang cố gắng để pip install -r requirements.txt nhưng nó nói

Collecting mock==1.0.1 (from -r requirements.txt (line 8)) 
    Using cached mock-1.0.1.tar.gz 
    setuptools must be installed to install from a source distribution 

Tôi đã kiểm tra virtualenv của tôi và nó không có setuptools:

(py3) 1111:d3 1111$ ls py3/lib/python3.4/site-packages/ 
__pycache__   easy_install.py   pip-6.0.8.dist-info  setuptools 
_markerlib   pip    pkg_resources   setuptools-12.0.5.dist-info 

nhưng khi tôi vẫn cố gắng cài đặt lại setuptools nó nói

(py3) 1111:d3 1111$ pip install setuptools 
Requirement already satisfied (use --upgrade to upgrade): setuptools in 
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python 

Vì vậy, tôi có 2 nhiệm vụ tiện ích:

  1. tại sao không thấy trình cài đặt trong thư mục virtualenv?
  2. tại sao nó trông trong thư mục Python 2 thay vì Python 3?

Cảm ơn!

+0

Trong file 'py3' virtualenv, bạn có thể xác minh rằng đúng 'pip' đang được sử dụng? Tức là, hãy thử 'pip' nào và cho chúng ta biết kết quả. Ngoài ra, hãy thử tương tự với 'pip3' và xem liệu đó có phải là' pip' bạn có thể sử dụng cho 'virtualenv' của bạn không. – Evert

+0

'(py3) 1111: d3 1111 $ mà pip''/Người dùng/1111/_realpython/d3/py3/bin/pip'. Cũng vậy với 'pip3': '/Users/1111/_realpython/d3/py3/bin/pip3' – kurtgn

+0

nếu tôi thực hiện 'pip3 install setuptools', nó vẫn nói rằng tôi đã có nó trong thư mục 2.7 của tôi. – kurtgn

Trả lời

9

Đây không phải là câu trả lời cho câu hỏi của bạn, nhưng đối với tôi, việc cài đặt lại môi trường ảo dễ dàng hơn là cố gắng giải quyết vấn đề. Sau khi thiết lập một virtualenv mới, tôi không có vấn đề cài đặt hoặc cập nhật các gói một lần nữa.

+2

Yea, đã làm việc cho tôi, cảm ơn – helado

0

Bạn chỉ có thể làm

cp/usr/bin/python2/path/to/my-virtualenv/bin/python2 hoặc

cp/usr/bin/python3/path/to/my -virtualenv/bin/python3

Đối với tôi, nó đã giải quyết được vấn đề tương tự.

+0

cũng đã làm việc cho tôi. – Rohit

4

Trong trường hợp của tôi nó đã giúp để cài đặt setuptools dưới pip sử dụng:

pip install -U pip setuptools

1

Tôi tìm thấy trên tái tạo một virtualenv để không làm việc. Tuy nhiên tôi đã phá hủy virtualenv của mình, rồi nâng cấp pip và virtualenv và vấn đề này đã giải quyết được.

pips cài đặt -U virtualenv

pips cài đặt -U pip

+0

Đây là câu trả lời đúng, mặc dù tôi tin rằng phần pip có thể không cần thiết. Điều gì đang xảy ra là virtualenv đang sử dụng phiên bản thiết lập riêng của nó, không phải phiên bản được cài đặt với cài đặt python mặc định. Trên một hộp có cài đặt virtualenv rất cũ (1.11.6), các thiết lập mặc định của tôi là 33.1.1, nhưng phiên bản đã cài đặt trong virtualenv là 3.6. Điều này gây ra sự phụ thuộc trong requirements.txt để cố gắng nâng cấp các công cụ thiết lập đã phá vỡ hoàn toàn quá trình cài đặt. – brocksamson

3

một này làm việc cho tôi:

pip install --upgrade pip 
pip install setuptools 
Các vấn đề liên quan