2015-05-28 14 views
5

2.7.3'ten python'a geçtikten sonra (ki bu oldukça basitti), çoğu yazarımı arkadaşları ile paylaşmadan önce 2.7.9 python'la test ediyorum. Homebrew'dan derlenmiş bir OSX yosemite platformu kullanıyorum. Homebrew'ın pythonunu ve pyenisini birlikte nasıl yaşayabilirim?

durum

( PATH es ve her adımda PYTHONPATH ayarlama) oldukça çirkin - Ben çok kolay yapar ve kolayca homebrew kullanılarak yüklenir pyenv keşfedene kadar. Çok uzak çok iyi. Bununla birlikte, şimdi, bu python sürümünü kullanıyorum, ancak mutlaka homebrew ile iyi oynamamaktadır.

$ pyenv versions 
    system 
    2.7.9 
* 3.4.3 (set by /usr/local/var/pyenv/version) 

ama nasıl da homebrewleri tarafından derlenen python s için girdiler ekleyebilirsiniz: Üstelik ben sistemin piton dönmek olabilir ve daha genel olduğunu pyenv o erişmek bulundu?

cevap

4

Sen (pyenv kurulum kılavuzunda açıklandığı gibi), ev dizininde pyenv yükleyin ve ardından ~/.pyenv/versions$(brew --cellar)/python için bir sembolik oluşturabilirsiniz: Homebrew eserler günümüzde

ln -s $(brew --cellar python)/* ~/.pyenv/versions/ 

arada, bu hem 2 gelip alacak .x ve 3.x

+0

Sürümler klasörü zaten mevcutsa ve python3 içermezse, bu çalışmaz. Ayrıca, eminim demek istediğim eminim: ln -s $ (brew --cellar)/python ~/.pyenv/sürümleri – misnomer

+1

Aslında, ln -s $ (demlemek --cellar python)/* ~/.pyenv/versions'. Aksi takdirde, python sürümü, "2.7.0" yerine "python" olarak adlandırılacaktır – hanxue

+0

Homebrew yüklü python3 ortamlarını pyenv'de listelemeye çalıştığımdan beri, bu benim için çalıştı: 'ln -s $ (demleme - bodrum python3)/* ~/.pyenv/versions' python3 için sembolik bağlantıda – JacobWuzHere

3

Eğer pyenv pythons ve homebrew pitonların birlikte yaşamak istiyorsanız, homebrew pythons sürümünden başka bir şey yapmanız gerekir. Aksi takdirde, pyenv'in kullandığı dizin isimleriyle çakışırlar. Örneğin, pyenv python 2.7.11 ve homebrew python 2.7.11 yüklemek istiyorsanız, böyle bir şey yapabilirsiniz. o pyenv piton çatışma olmayacak, böylece

for i in `ls $(brew --cellar python)/`; do 
    ln -s $(brew --cellar python)/$i $HOME/.pyenv/versions/$i-brew; 
done 

for i in `ls $(brew --cellar python3)/`; do 
    ln -s $(brew --cellar python)/$i $HOME/.pyenv/versions/$i-brew; 
done 

Esasen bu '-brew' ile eklenen $ HOME/.pyenv/sürümlerinde bir dizin oluşturacaktır.

+0

hata yaptı; "3" eksik – farooqsadiq

İlgili konular