2016-02-26 24 views
9

Bağımlılık_linkleri kullanarak bir paket yüklüyorum. Tamamen paketi yüklemek gibi görünüyor ama pip freeze işlevselliği kırıyor (muhtemelen daha derin bir yükleme sorunu olduğu anlamına gelir.) Ben setup.py çalışan dışında herhangi bir kurulum gerektirmeden paketi özel bir sunucudan indirmek mümkün olmak istiyorum.`pip donma 'paket yüklemesiyle kopuyor

Bu benim setup.py dosyasıdır:

from setuptools import setup 

    setup(
     name='package' 
     ,version='0.1.0' 
     ,packages=['foo', 
       'bar' 
       ] 
     ,long_description='' 
     ,url='https://github.com/myrepo' 
     ,install_requires=['numpy>=1.9.2' 
         ,'some_package' 
         ] 
     ,dependency_links=[ 
      "http://custom_server/packages/some_package-0.1.0.tar.gz" 
     ]    
) 

yükleyin Tamam çalışmak gibi, ama denemek ve pip_freeze çalıştırırsanız aşağıda hatası alıyorum. --extra-index-url ve --trusted-host ile

pip freeze 

Error [Errno 20] Not a directory: '/Users/abc/anaconda/lib/python2.7/site-packages/some_package.egg' while executing command git rev-parse 
Exception: 
Traceback (most recent call last): 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main 
    status = self.run(options, args) 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/commands/freeze.py", line 70, in run 
    for line in freeze(**freeze_kwargs): 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/operations/freeze.py", line 49, in freeze 
    dependency_links 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/__init__.py", line 235, in from_dist 
    if dist_is_editable(dist) and vcs.get_backend_name(location): 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/vcs/__init__.py", line 75, in get_backend_name 
    if vc_type.controls_location(location): 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/vcs/git.py", line 266, in controls_location 
    on_returncode='ignore') 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/vcs/__init__.py", line 322, in run_command 
    spinner) 
    File "/Users/myname/anaconda/lib/python2.7/site-packages/pip/utils/__init__.py", line 677, in call_subprocess 
    cwd=cwd, env=env) 
    File "/Users/myname/anaconda/lib/python2.7/subprocess.py", line 710, in __init__ 
    errread, errwrite) 
    File "/Users/myname/anaconda/lib/python2.7/subprocess.py", line 1335, in _execute_child 
    raise child_exception 
OSError: [Errno 20] Not a directory: '/Users/myname/anaconda/lib/python2.7/site-packages/some_package.egg' 
+0

Bunun bir yumurta dizisi yerine bir yumurta dosyası olduğu gerçeği ile ilgili olduğunu biliyorum, ancak bunu nasıl düzelteceğimi bilmiyorum. – Chris

+0

# egg = some_package-0.1.0 bağımlılık bağlantınıza – irqed

+0

'http: // custom_server/packages/some_package-0.1.0.tar.gz # egg = some_package-0.1.0' eklemeyi deneyin. pip dondurmak. Kurulum hala çalışıyor, sadece pip dondurmayı bozuyor:/ – Chris

cevap

4

pip install . Eğer pip install -e . yapabilirsiniz düzenlenebilir modda yüklemek istediğiniz zamanda eğer hile yok.

Hala listeleme dependency_links ve zip_safe seçeneğine bir göz atmak isteyebilirsiniz: Bu arada https://pythonhosted.org/setuptools/setuptools.html#dependencies-that-aren-t-in-pypi https://pythonhosted.org/setuptools/setuptools.html#setting-the-zip-safe-flag https://github.com/irqed/octokit.py/blob/master/setup.py#L51

siz de pip requirements.txt dosyasında --extra-index-url ve --trusted-host belirtebilirsiniz.

İlgili konular