Tôi đã cố gắng để bắt kịp và chạy với mô-đun "venv" tích hợp của Python 3.3 trên máy OS X của tôi. Tôi đã cài đặt Python 3.3 bằng Homebrew.Cài đặt phân phối trong Python 3.3 venv (OS X/Homebrew)
Theo các tài liệu, tạo và chuyển sang môi trường ảo hoạt động như bạn mong muốn:
$ python3 -m venv myvenv
$ source myvenv/bin/activate
Và tôi đã thử nghiệm một cái gì đó như thế này:
$ echo "YEAH = 'YEAH!'" > myvenv/lib/python3.3/site-packages/thingy.py
$ python
>>> import thingy
>>> print(thingy.YEAH)
'YEAH!'
Nhưng khi tôi cố gắng để cài đặt phân phối, nó sẽ không đi đúng chỗ. Đối với một số lý do, nó khăng khăng cố gắng để cài đặt vào /usr/local/lib/python3.3/site-packages/
, mà không thành công với thông báo sau:
No setuptools distribution found
running install
Checking .pth file support in /usr/local/lib/python3.3/site-packages/
/Users/victor/myvenv/bin/python -E -c pass
TEST FAILED: /usr/local/lib/python3.3/site-packages/ does NOT support .pth files
error: bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/usr/local/lib/python3.3/site-packages/
and your PYTHONPATH environment variable currently contains:
''
Điều này xảy ra bất kể nếu tôi cố gắng để cài đặt sử dụng distribute_setup.py
hoặc bằng cách sử dụng phân phối nguồn trực tiếp. Tôi thậm chí đã thử sử dụng --prefix=/Users/victor/myenv
nhưng nó vẫn cố gắng để đưa tất cả mọi thứ trong các trang web "toàn cầu" của tôi.
Tôi không thể hiểu tại sao điều này xảy ra, nhưng nó nhất quán trên hai máy của tôi. Lưu ý rằng sys.prefix
báo cáo đường dẫn chính xác (môi trường ảo).
Đây có phải là vấn đề với Homebrew không? OS X? Python 3.3? venv? Tôi?
Cài đặt phân phối 0.6.33 vào một tác phẩm venvà tốt cho tôi với python.org 3.3.0 từ trình cài đặt python.org 64-/32-bit trên 10.8. –
Tôi đã hoàn toàn ngừng sử dụng python.org vì sự tiện lợi của Homebrew. Nhưng trình cài đặt của họ cũng hoạt động cho tôi. Vì vậy, nó có thể là một vấn đề với cách cài đặt Python của Homebrew. – vicvicvic
FWIW, nó cũng hoạt động tốt với cổng MacPorts python33. Vì vậy, có, rất có thể một số lỗ hổng trong một công thức Homebrew. –