2009-07-10 33 views
15

Câu chuyện: Một trong những ứng dụng mà tôi đã làm việc trên trăn 2.4 và khác trên 2.6. Tôi đã cố gắng để làm một liên kết sym python2.4 để python và mọi thứ bắt đầu vỡ trên ubuntu jaunty. Bây giờ tôi đang tải xuống mọi phụ thuộc 2.4 và cài đặt nó bằng cách sử dụng cài đặt python2.4 setup.py. Các phụ thuộc dường như là vô tận.phiên bản chuyển đổi của python

Question1: Làm thế nào tôi sẽ nói với bất kỳ khuôn khổ mà đi và sử dụng phiên bản như vậy và như vậy pf python như ngày django sử dụng 2,6 và nói mjango sử dụng 2,4? Một cái gì đó như chúng ta nói sử dụng cú pháp cơ sở dữ liệu databasename kinda.

Câu hỏi 2: Có cách nào thanh lịch hơn để chuyển đổi giữa phiên bản khi hack liên kết tượng trưng của tôi là thảm họa ảo không?

Câu hỏi 3: Tôi có thể tải xuống một bản ghi âm cho lời nói khó nhọc và vui vẻ tin tưởng điều đó cho cô ấy không?

Trả lời

31

Sử dụng Virtualenv.

Có thêm thông tin tại đây: Working with virtualenv.

Sử dụng virtualenv bạn có thể tạo môi trường python ảo mới với bất kỳ phiên bản Python nào bạn muốn cho từng dự án hoặc ứng dụng. Sau đó, bạn có thể kích hoạt môi trường thích hợp khi cần.

Để mở rộng về câu trả lời của tôi:

Bạn có thể cài đặt nhiều phiên bản của Python trên máy tính của bạn (Tôi có 2.4, 2.5, 2.6 và 3.1 trên máy tính của tôi - tôi cài đặt mỗi từ nguồn). Tôi sử dụng một máy Mac, và giữ cho hệ thống Python của tôi như bất cứ OS X nào làm mặc định.

Tôi sử dụng easy_install để cài đặt gói. Trên ubuntu bạn có thể nhận easy_install như thế này:

sudo apt-get install python-setuptools 

Để cài đặt virtualenv sau đó làm:

easy_install virtualenv 

tôi có xu hướng để tạo ra một virtualenv mới cho mỗi dự án tôi đang làm việc trên và không cho nó truy cập vào các gói trang web toàn cầu. Điều này giữ tất cả các gói chặt chẽ với nhau và cho phép tôi có các phiên bản cụ thể của tất cả mọi thứ tôi cần.

virtualenv -p python2.6 --no-site-packages ~/env/NEW_DJANGO_PROJECT 

Và sau đó bất cứ khi nào tôi đang làm bất cứ điều gì liên quan đến dự án này, tôi kích hoạt nó:

source ~/env/NEW_DJANGO_PROJECT/bin/activate 

Nếu tôi chạy python bây giờ nó sử dụng python mới này. Nếu tôi sử dụng easy_install, nó sẽ cài đặt mọi thứ vào môi trường ảo mới của tôi.

Vì vậy, virtualenv sẽ có thể giải quyết tất cả các vấn đề của bạn.

+0

tôi có thể yêu cầu thêm điều gì nữa, cảm ơn bạn – dhaval

+3

Lệnh kích hoạt có dấu gạch chéo giữa bin và kích hoạt: source ~/env/NEW_DJANGO_PROJECT/bin/activate – CoverosGene

3

Cách tiếp cận cơ sở hơn Virtualenv là cài đặt song song hai phiên bản Python.

Nếu có một cài đặt hiện có, và bạn muốn có một cài đặt thứ hai vào con đường cùng một gốc (ví dụ/usr/local), sử dụng mục tiêu này khi thực hiện cài đặt:

make altinstall 

Khi cài đặt thứ hai của bạn là Python 2.6, điều này sẽ để lại cho bạn một /usr/local/bin/python2.6 cùng với/usr/local/bin/python cũ.

Cách đơn giản để chuyển đổi giữa hai phiên bản này là sử dụng bí danh vỏ (bí danh python =/usr/local/bin/python2.6) trên trình bao nơi bạn gọi trình thông dịch. Nhưng điều này sẽ không hoạt động trên các cuộc gọi con và các cuộc gọi cô-bang.

+0

bí danh âm thanh tốt hơn so với liên kết tượng trưng, ​​hãy để tôi thử thatm thx – dhaval

1

"Question1: Làm thế nào tôi sẽ nói với bất kỳ khuôn khổ mà đi và sử dụng phiên bản như vậy và như vậy pf python như ngày django sử dụng 2,6 và nói mjango sử dụng 2,4?"

Bạn chỉ cần chạy chúng với phiên bản python cụ thể mà họ cần. Chạy mjango với /usr/bin/python2.4 và django với /usr/bin/python2.6. Dễ dàng như vậy.

"Question2: Có cách nào thanh lịch hơn để chuyển đổi giữa phiên bản khi hack liên kết tượng trưng của tôi là thảm họa ảo không?"

Có, xem ở trên. Có hai cài đặt Python riêng biệt và chạy rõ ràng với các phiên bản khác nhau.

"Câu hỏi 3: Tôi có thể tải xuống deb để nói một cách mạnh mẽ và làm cho niềm vui vui vẻ cho cô ấy không?"

Điều đó thường hoạt động. Nếu không, đó là bởi vì nó có phụ thuộc tồn tại trong Hardy, và không tồn tại trong Jaunty, và sau đó bạn không thể.

Và đây là Câu hỏi 4 bạn không hỏi, nhưng nên có. ;)

"Có cách nào dễ dàng hơn để tải xuống tất cả các mô-đun Python đó không?"

Có, có. Cài đặt setuptools và sử dụng easy_install. Nó sẽ không giúp bạn với các phụ thuộc thư viện cho các mô-đun Python có mã C và cần được biên dịch. Nhưng nó sẽ trợ giúp với tất cả những người khác. easy_install sẽ tải xuống và cài đặt tất cả các phụ thuộc Python của mô-đun được đề cập trong một lần. Điều đó làm cho nó nhanh hơn rất nhiều để cài đặt các mô-đun Python.

+0

thậm chí tôi thích easy_install nên bỏ qua đề cập đến nó, nói chung chúng tôi bỏ qua những gì chúng tôi thích nhất – dhaval

+0

Và tôi quên đề cập rằng bạn có thể chuyển đổi môi trường với kích hoạt virtualenv, điều này rất hữu ích nếu bạn có nhiều tập lệnh. Ah tốt. –

3

Tôi tìm thấy http://github.com/utahta/pythonbrew dễ cài đặt và sử dụng hơn bất kỳ giải pháp nào khác.

Chỉ cần cài đặt nó và bạn sẽ có các tùy chọn này:

pythonbrew install 2.7.2 
pythonbrew use 2.7.2 # use 2.7.2 for a current terminal session 
pythonbrew switch 2.7.2 # use 2.7.2 by default system wide 
pythonbrew uninstall 2.7.2 

Lưu ý: nếu bạn sử dụng hệ điều hành Linux với Python được cài đặt sẵn, chuyển đổi (hệ thống rộng) lên phiên bản khác có thể làm cho mọi việc đi sai, hãy cẩn thận.

6

Pythonbrew là một công cụ kỳ diệu. Mà cũng có thể được gọi là quản lý phiên bản Python tương tự như quản lý phiên bản RVM-Ruby nhưng Pythonbrew được lấy cảm hứng từ Perlbrew.

Pythonbrew là chương trình tự động hóa việc xây dựng và cài đặt Python trong người dùng $ HOME.

Dependencies – curl 

Trước khi cài đặt các Pythonbrew, Cài đặt “cuộn tròn” trong máy, để cài đặt sử dụng curl lệnh dưới đây trong Terminal, cung cấp cho các mật khẩu cho người dùng khi được nhắc.

$sudo apt-get install curl 

Sau khi cài đặt curl, hãy cài đặt ngay lập tức, sao chép và dán các lệnh sau vào thiết bị đầu cuối và nhập mật khẩu cho người dùng khi được nhắc.

recomended phương pháp cài đặt - Dễ dàng cài đặt

$ sudo easy_install pythonbrew 

Để hoàn tất cài đặt, gõ lệnh sau

$pythonbrew_install 

phương pháp thay thế lắp đặt:

Sử dụng lệnh curl để tải về mới nhất phiên bản của pythonbrew từ github.

curl -kLO http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install 

Sau khi tải về, thay đổi “pythonbrew cài đặt” để “thực thi”

chmod +x pythonbrew-install 

Sau đó, chạy pythonbrew cài đặt tại nhà ga

./pythonbrew-install 

Bây giờ Pythonbrew đã được cài đặt trong số “Home Directory” tức là, /home/user/.pythonbrew

Ne xt, sao chép và dán dòng sau vào cuối ~/.bashrc

* Chú ý: thay đổi “user” tên người dùng của bạn trong hệ thống

source /home/user/.pythonbrew/etc/bashrc 

Thats nó! Đóng thiết bị đầu cuối. Các bước để cài đặt các phiên bản Python khác nhau:

Mở một thiết bị đầu cuối mới, nhập lệnh sau hoặc sao chép và dán nó.

$pythonbrew install 2.6.6 

Cài đặt này sẽ cài đặt Python 2.6.6 và cài đặt Python 2.7 hoặc Python 3.2, thay đổi số phiên bản trong lệnh trước.

$pythonbrew install 2.7 

hoặc

$pythonbrew install 3.2 

Cập nhật: Nếu bạn nhận được lỗi khi cài đặt sau đó cài đặt bằng cách sử dụng lệnh dưới đây.

$pythonbrew install --force 2.7 

hoặc

$pythonbrew install --force 3.2 

Làm thế nào để quản lý các phiên bản khác nhau của Python được cài đặt trong hệ thống

Ví dụ, nếu Python 2.6.6, Python 2.7Python 3.2 được cài đặt trong hệ thống của bạn, chuyển đổi giữa các phiên bản có thể được thực hiện như sau:

Theo mặc định, Python 2.6.6 sẽ hoạt động và trong để chuyển sang Python 2.7, sử dụng lệnh dưới đây

$pythonbrew switch 2.7 

Python mặc định được đổi thành Python 2.7.

Bây giờ, để chuyển sang Python 3.2 thay đổi số phiên bản trong lệnh trước.

$pythonbrew switch 3.2 

Sử dụng lệnh dưới đây để kiểm tra hoặc liệt kê các phiên bản Python cài đặt

$pythonbrew list 

Sử dụng lệnh dưới đây để kiểm tra hoặc liệt kê các phiên bản Python sẵn để cài đặt

$pythonbrew list -k 

Để gỡ bỏ cài đặt bất kỳ của phiên bản Python đã cài đặt (ví dụ để gỡ cài đặt Python 2.7), hãy sử dụng lệnh dưới đây.

$pythonbrew uninstall 2.7 

Sử dụng lệnh dưới đây để cập nhật các Pythonbrew

$pythonbrew update 

Sử dụng lệnh dưới đây để vô hiệu hóa các Pythonbrew và để kích hoạt phiên bản mặc định

$pythonbrew off 

Thưởng thức những kinh nghiệm của việc cài đặt nhiều phiên bản của Python trong máy Linux/ubuntu đơn!

+0

Dường như 'pythonbrew' không còn được phát triển hoạt động nữa. – ThomasW

1

pyenv là một trình quản lý Python khác. README.md tại liên kết đó có một bộ hướng dẫn tốt, nhưng về cơ bản chúng là:

$ cd 
$ git clone git://github.com/yyuu/pyenv.git .pyenv 

Sau đó, thiết lập $ PATH.

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 

Cài đặt phiên bản mong muốn của Python:

$ pyenv install 2.7.8 

Sau khi cài đặt, bạn cần phải chạy này:

$ pyenv rehash 

Sau đó chuyển sang phiên bản của Python bạn muốn chạy, cho shell:

$ pyenv shell 2.7.8 
0

Di chuyển đến thư mục dự án:

Tạo một môi trường: virtualenv -p python2.7 --no-site-gói ~/env/twoseven

Sau đó, kích hoạt nguồn của bạn: nguồn ~/env/twoseven/bin/kích hoạt

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