2016-12-11 11 views
5

Mam kilka pakietów Pythona pomyślnie przesłane do GemFury pomocąPython linki setup.py zależnościami dla pakietów GemFury

git push fury master 

Po ustawieniu mojego pilota.

Teraz chcę używać tych hostowanych pakietów GemFury w kompilacjach innych pakietów (niektóre na GemFury, inne nie). I robi to określono, badając jak zaktualizować moje setup.py aby pomieścić dla tego nowego źródła:

from setuptools import setup 

setup(name='my_package', 
     version='0.1', 
     description='my_package package', 
     url='https://bitbucket.org/me/my_package', 
     packages=['my_package'], 
     install_requires=[ 
      'package_on_gemfury==0.1', 
      'pandas==0.19.0', 
      'numpy==1.11.2', 
     ], 
     dependency_links=[ 
        'https://pypi.fury.io/[KEY]/me/' 
        # 'https://pypi.fury.io/[KEY]/me/#egg=package_on_gemfury-0.1' 
        # 'https://pypi.fury.io/me/package_on_gemfury?auth=[KEY]' 
     ], 
     test_suite='nose2.collector.collector', 
     tests_require=['nose2'], 
     include_package_data=True, 
     zip_safe=False) 

Potem biegnę to:

sudo pip install . 

Działa jeśli my_package jest zainstalowany lokalnie, ale nie będzie pobierać z GemFury, jeśli nie jest zainstalowany lokalnie.

Jak widać, próbowałem na kilka różnych sposobów, aby linki zależności działały poprawnie, ale nic nie zadziałało. Pojawia się następujący błąd:

„nie można odnaleźć wersji, która spełnia warunek == package_on_gemfury 0.1 (od my_package == 0,1) (od wersji:) nr dystrybucji dopasowania znalezione dla package_on_gemfury == 0,1 (od my_package = = 0,1) "

Wszelkie pomysły?

Odpowiedz

3

Potrzebujesz tego, co przypuszczam, to identyfikator wersji pakietu Gemfury.

Możesz to znaleźć przechodząc na stronę Gemfury i patrząc na ręczny link do pobrania paczki.

E.g; https://manage.fury.io/1/versions/ {x_here}/download? As = john

Zmień link zależności na poniższy.

dependency_links=['https://pypi.fury.io/{gemfury_account_name}/-/{gemfury_package_version_id}/{package_name_and_version}?auth={gemfury_auth_hash}'] 
+0

Wydaje się, że nie działa dla mnie. Mam ten sam błąd jak przed użyciem 'https://pypi.fury.io/my_account/-/0.1/package_on_gemfury-0.1?auth= [KEY]' i 'https: //pypi.fury .io/my_account/0.1/package_on_gemfury-0.1? auth = [KEY] '. Również twój przykład nie działa. – grantathon

+0

Liczba, którą masz na {gemfury_package_version_id} w twoim URLu (po/- /), nie byłaby równa 0.1, jeśli to było twoje. Był to dla mnie 6-cyfrowy numer, zupełnie niezwiązany z moją własną wersją pakietu. Jak wspomniano, logując się do Gemfury, przejdź na stronę, która umożliwia ręczne pobranie określonej wersji pakietu, którego szukasz. Pojawi się przycisk pobierania ręcznego, który po najechaniu myszą powinien pokazywać ten numer, o którym mówię. – brettm

+0

Dzięki, widzę to teraz. Czy wiesz, czy ta liczba zmienia się w czasie? Widzę, że jest inny w każdym pakiecie. Wydaje się to także nieobsługiwaną funkcją w grze GemFury i bardziej hackową. – grantathon

0

Rozwiązałem to oddanie następujące

https://pypi.fury.io/[token]/[me]/[package_name]/ 

jeden dla każdego nazwa_pakietu muszę.

Powiązane problemy