如果我执行:
pip install --install-option="--prefix=/root/folder" airflow==1.8.0
它将结束
'dist_version': self.distribution.get_version(),
File "version.py", line 656, in get_version
version_info = self.get_version_info()
File "version.py", line 651, in get_version_info
changelog_path = get_changelog_path(self)
File "version.py", line 552, in get_changelog_path
setup_dirname = os.path.dirname(distribution.script_name)
File "/usr/lib64/python2.7/posixpath.py", line 129, in dirname
i = p.rfind('/') + 1
AttributeError: 'NoneType' object has no attribute 'rfind'
如果我执行
pip install airflow==1.8.0
它将完成整个过程而没有错误。
# pip freeze
airflow==1.8.0
alembic==0.8.10
backports.ssl-match-hostname==3.4.0.2
chardet==2.2.1
click==6.7
croniter==0.3.16
dill==0.2.6
docutils==0.13.1
Flask==0.11.1
Flask-Admin==1.4.1
Flask-Cache==0.13.1
Flask-Login==0.2.11
flask-swagger==0.2.13
Flask-WTF==0.12
funcsigs==1.0.0
future==0.15.2
gitdb2==2.0.0
GitPython==2.1.3
gunicorn==19.3.0
iniparse==0.4
itsdangerous==0.24
Jinja2==2.8.1
kitchen==1.1.1
lockfile==0.12.2
lxml==3.7.3
Mako==1.0.6
Markdown==2.6.8
MarkupSafe==1.0
numpy==1.12.1
ordereddict==1.1
pandas==0.19.2
psutil==4.4.2
pycurl==7.19.0
Pygments==2.2.0
pygobject==3.14.0
pygpgme==0.3
pyliblzma==0.5.3
python-daemon==2.1.2
python-dateutil==2.6.0
python-editor==1.0.3
python-nvd3==0.14.2
python-slugify==1.1.4
pytz==2017.2
pyxattr==0.5.1
PyYAML==3.12
requests==2.13.0
setproctitle==1.1.10
six==1.10.0
smmap2==2.0.1
SQLAlchemy==1.1.8
tabulate==0.7.7
thrift==0.9.3
Unidecode==0.4.20
urlgrabber==3.10
Werkzeug==0.12.1
WTForms==2.1
yum-metadata-parser==1.1.4
zope.deprecation==4.2.0
由于这必须遇到jenkins构建过程,我不能省略安装选项。任何强大的python用户都可以帮助我理解在哪里看到以及如何解决它?
我读过你需要先安装这个库(python-daemon),但仍然无法使用安装选项:
pip install --install-option="--prefix=/root/folder" python-daemon
/usr/lib/python2.7/site-packages/pip/commands/install.py:188: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.
File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 230, in finalize_options
'dist_version': self.distribution.get_version(),
File "version.py", line 656, in get_version
version_info = self.get_version_info()
File "version.py", line 651, in get_version_info
changelog_path = get_changelog_path(self)
File "version.py", line 552, in get_changelog_path
setup_dirname = os.path.dirname(distribution.script_name)
File "/usr/lib64/python2.7/posixpath.py", line 129, in dirname
i = p.rfind('/') + 1
AttributeError: 'NoneType' object has no attribute 'rfind'
提前感谢。
答案 0 :(得分:5)
python-daemon需要docutils。
pip install docutils
在那之后
pip install python-daemon
答案 1 :(得分:0)
我找到了一种让它运转的方法,而不是最好的而不是最终的解决方案,但它正在发挥作用:
pip install python-daemon
完成后,您应该可以将其看到
列表中[root@localhost ozw1z5rd]# pip freeze | grep daemon
python-daemon==2.1.2
现在卸载它
pip uninstall python-daemon
当然它将无法再列入
列表[root@localhost ozw1z5rd]# pip freeze | grep daemon
现在使用前缀
再次安装 pip install --install-option="--prefix=/root/folder" python-daemon
这个安装,当然,它在pip冻结列表中不可用,但它完成时没有错误,并且在新路径中库确实存在。
[root@localhost ozw1z5rd]# ls /root/folder/lib/python2.7/site-packages/
daemon/ python_daemon-2.1.2-py2.7.egg-info/
所有这些让我可以使用Jenkins安装气流。
我还调查了python-daemon的setup.py脚本,attrs ['script_name']在代码的早期部分正确加载,但后来丢失了。
在此屏幕中,显示的代码是attrs ['script_name']迷失的地方。