2016-02-26 24 views
9

Ich installiere ein Paket mit dependency_links. Es scheint, das Paket in Ordnung zu installieren, aber bricht Pipefrost-Funktionalität (was wahrscheinlich bedeutet, dass es ein tieferes Installationsproblem ist.) Ich möchte in der Lage sein, das Paket von einem benutzerdefinierten Server ohne Setup außerhalb der Ausführung von setup.py erforderlich herunterladen.`pip freeze` bricht mit der Paketinstallation ab

Das ist mein setup.py Datei:

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" 
     ]    
) 

scheint installieren ok zu arbeiten, aber wenn ich versuche, und führen Sie pip_freeze ich die folgenden Fehler.

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

Ich weiß, dass es mit der Tatsache zu tun hat, dass es sich um eine Eizelle handelt und nicht um ein Eierverzeichnis, aber ich weiß nicht, wie ich es beheben soll. – Chris

+0

versuchen Sie # Egg = some_package-0.1.0 zu Ihrem Abhängigkeitslink hinzuzufügen – irqed

+0

'http: // custom_server/packages/some_package-0.1.0.tar.gz # Ei = some_package-0.1.0' gab mir den gleichen Fehler, wenn ich Pip-Freeze ausführen. Die Installation funktioniert immer noch, es bricht nur Pip Freeze:/ – Chris

Antwort

4

pip install . mit --extra-index-url und --trusted-host funktioniert der Trick, auch wenn Sie es in editierbaren Modus installieren möchten Sie pip install -e . tun können.

Sie könnten noch einen Blick auf die Auflistung dependency_links und zip_safe Option nehmen wollen: 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

Durch die Art und Weise Sie auch --extra-index-url und --trusted-host in pip requirements.txt Datei angeben können.

Verwandte Themen