`pip freeze` 因软件包安装而中断
`pip freeze` breaks with package installation
我正在使用 dependency_links 安装一个包。它似乎可以正常安装软件包,但会破坏 pip freeze 功能(这可能意味着存在更深层次的安装问题。)我希望能够从自定义服务器下载软件包,而无需在 运行ning [之外进行任何设置 setup.py
.
这是我的 setup.py
文件:
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"
]
)
安装似乎工作正常,但如果我尝试 运行 pip_freeze
我会收到以下错误。
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'
pip install .
与 --extra-index-url
和 --trusted-host
就可以了,如果你想以可编辑模式安装它,你可以 pip install -e .
.
您可能仍想查看清单 dependency_links 和 zip_safe 选项:
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
顺便说一下,您也可以在 pip requirements.txt 文件中指定 --extra-index-url
和 --trusted-host
。
我正在使用 dependency_links 安装一个包。它似乎可以正常安装软件包,但会破坏 pip freeze 功能(这可能意味着存在更深层次的安装问题。)我希望能够从自定义服务器下载软件包,而无需在 运行ning [之外进行任何设置 setup.py
.
这是我的 setup.py
文件:
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"
]
)
安装似乎工作正常,但如果我尝试 运行 pip_freeze
我会收到以下错误。
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'
pip install .
与 --extra-index-url
和 --trusted-host
就可以了,如果你想以可编辑模式安装它,你可以 pip install -e .
.
您可能仍想查看清单 dependency_links 和 zip_safe 选项: 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
顺便说一下,您也可以在 pip requirements.txt 文件中指定 --extra-index-url
和 --trusted-host
。