Başvurumda kullanmak istiyorum:
packageA
, hangi gereksinimlerpackageX==1.3
packageB
, hangi gereksinimlerpackageX==1.4
packageX==1.5
packageX
Bu durumu idare etmek için birden çok pip sürümünü nasıl kurabilirim ?
Başvurumda kullanmak istiyorum:
packageA
, hangi gereksinimler packageX==1.3
packageB
, hangi gereksinimler packageX==1.4
packageX==1.5
packageX
Bu durumu idare etmek için birden çok pip sürümünü nasıl kurabilirim ?
packageX>=1.3,<2
ve packageX>=1.4,<2
(yukarı akış packageX'in Anlamsal Sürümlemeyi takip ettiğini varsayarak ), o zaman aşağı akış uygulama geliştiricisi olarak sabitlemek ve kullanmak için hiçbir sorun yaşamazsınız packageX==1.5
ve herkes mutlu olur. Daha fazla ayrıntı burada
Yanıtlar:
pip bu konuda sana yardım etmeyecek.
Belirli bir sürümü yüklemesini söyleyebilirsiniz, ancak diğerini geçersiz kılacaktır. Öte yandan, iki sanal ortam kullanmak, her iki sürümü de aynı makineye kurmanıza izin verir, ancak aynı anda kullanmaz.
En iyisi, her iki sürümü de Python yolunuza farklı bir adla yerleştirerek manuel olarak kurmaktır.
Ancak, eğer iki kütüphaneniz onlardan aynı isme sahip olmalarını bekliyorsa (ve olmalılar), bunları değiştirmeniz gerekecektir, böylece ihtiyaç duydukları sürümü aşağıdaki gibi bazı içe aktarma takma adlarıyla alabilirler:
import dependencyname_version as dependencyname
Şu anda bunu yapmanın temiz bir yolu yok. Umut edebileceğiniz en iyi şey, bu hacklemenin işe yaramasıdır.
İki kitaplıktan birini atmayı ve bir eşdeğeriyle değiştirmeyi ya da bağımlılığın yeni sürümünü kabul etmek ve yamayı topluluğa geri vermek için yamayı tercih ederim.
Ea için kaynağı indirin. paketi. Her birini kendi ayrı klasörüne yükleyin. Örneğin. Sürüm 1.10 paketim vardı, ancak bazı işler için geliştirici sürümüne geçmek istedim. Ben dev modülü için kaynak indirildi
git clone https://github.com/networkx/networkx.git
cd netwokrx
Ben bu sürümü için bir klasör oluşturdu:
mkdir /home/username/opt/python
o zaman ben hiç PYTHONPATH env Var ayarlayın: export PYTHONPATH=/home/username/opt/python/lib/python2.7/site-packages/
. Sonra, şunu kullanarak kurdum:python setup.py install --prefix=/home/username/opt/python
Şimdi, PYTHONPATH'ım şu anda bu diğer site paketleri klasörünü işaret ettiğinden, komut satırında python çalıştırdığımda ve yeni modülü içe aktardığımda çalışıyor. Geri geçiş yapmak için yeni klasörü PYTHONPATH'tan kaldırın.
>>> import networkx as nx
>>> nx.__version__
'2.0.dev_20151209221101'
networkx
sürüm farklılıklarıyla mücadele ettiğim için geldim !
sys.path