官网推荐ubuntu,由于阿里云服务器 centos7的,尝试安装indy-node
基本环境:
Centos 7
python3.6.2
[chain@iz2zeivrkckulq2dtidztmz indy]$ pip install indy-node
Collecting indy-node
Downloading https://files.pythonhosted.org/packages/7c/a5/b7a92afef3313f1ee536179d1ff67b56ccea2965cf1353781c8cae600062/indy-node-1.4.66.tar.gz (424kB)
100% |████████████████████████████████| 430kB 1.0MB/s
Complete output from command python setup.py egg_info:
FAIL: Requires Python 3.5 or later, but setup.py was run using 2.7.5
NOTE: Installation failed. Run setup.py using python3
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-yGWwSM/indy-node/
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pip install --upgrade pip
[chain@iz2zeivrkckulq2dtidztmz indy]$ pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 22kB/s
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/usr/lib64/python2.7/shutil.py", line 302, in move
os.unlink(src)
OSError: [Errno 13] 权限不够: '/usr/bin/pip'
将/usr/bin/python3 拷贝成 /usr/bin/python
https://github.com/hyperledger/indy-node/blob/master/docs/start-nodes.md
[chain@iz2zeivrkckulq2dtidztmz Python-3.6.2]$ pip install indy-node
Collecting indy-node
Using cached https://files.pythonhosted.org/packages/7c/a5/b7a92afef3313f1ee536179d1ff67b56ccea2965cf1353781c8cae600062/indy-node-1.4.66.tar.gz
Complete output from command python setup.py egg_info:
FAIL: Requires Python 3.5 or later, but setup.py was run using 2.7.5
NOTE: Installation failed. Run setup.py using python3
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-8KccYS/indy-node/
怀疑是 python的环境变量设置不正确
rm -rf /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
配置环境变量
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz
pip3 install indy-node
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting xxx
Could not fetch URL https://pypi.python.org/simple/xxxx/: There was a problem confirming the ssl certificate: Can’t connect to HTTPS URL because the SSL module is not available. - skipping
Could not find a version that satisfies the requirement xxx (from versions: )
No matching distribution found for xxx
yum install
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
因为yum包使用python2*等开发,修该为环境修改python3之后有问题,
解决:
修改文件/usr/bin/yum、/usr/libexec/urlgrabber-ext-down头中相应python为#!/usr/bin/python2.7
chain@iz2zeivrkckulq2dtidztmz ~]$ sudo yum install openssl-devel -y
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Determining fastest mirrors
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
原因同上,修改为python2.7
手动下载indy-node包
Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别
大部分python文件的头部都会写上 #!/usr/bin/python 或者 #!/usr/bin/env ,这个语句主要和运行模式有关,
如果我们用普通运行模式例如(linux) : python *.py 那么这个语句在此运行模式下无效。如果想让python程序像普通程序一样运行,例如:./*.py (文件要有可执行权限chmod a+x *.py),这个语句就起作用了,他用来为脚本语言指定解释器,通常认为用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因为 python 解释器有时并不安装在默认路径,例如在虚拟环境中。
解释:
#!/usr/bin/env python
这种写法在你机器上安装了多个版本的python的时候有意义,这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。如果这时候你又配置了虚拟环境的话,那么这样写可以保证脚本会使用你虚拟环境中的 python 来执行。
#!/usr/bin/python
表示写死了就是要 /usr/bin/python 这个目录下 python 来执行你的脚本。这样写程序的可移植性就差了,如果此路径下python命令不存在就会报错。
所以一般情况还是用第一种写法。
[chain@iz2zeivrkckulq2dtidztmz indy-node-1.4.66]$ python setup.py egg_info
Download error on https://pypi.python.org/simple/pytest-runner/: unknown url type: https -- Some packages may not be found!
Couldn't find index page for 'pytest-runner' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: unknown url type: https -- Some packages may not be found!
No local packages or working download links found for pytest-runner
Traceback (most recent call last):
File "setup.py", line 101, in <module>
'tools/diagnostics/nsreplay',
File "/usr/local/python3/lib/python3.6/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/usr/local/python3/lib/python3.6/site-packages/setuptools/dist.py", line 315, in __init__
self.fetch_build_eggs(attrs['setup_requires'])
File "/usr/local/python3/lib/python3.6/site-packages/setuptools/dist.py", line 361, in fetch_build_eggs
replace_conflicting=True,
File "/usr/local/python3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 850, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/usr/local/python3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1122, in best_match
return self.obtain(req, installer)
File "/usr/local/python3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1134, in obtain
return installer(requirement)
File "/usr/local/python3/lib/python3.6/site-packages/setuptools/dist.py", line 429, in fetch_build_egg
return cmd.easy_install(req)
File "/usr/local/python3/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 659, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pytest-runner')
解决问题关键步骤:
lunix 系统中安装各个版本的python,需药重新安装python3 并设置环境变量
1、python3.6安装
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3 --enable-shared
make & make install
将usr/bin目录下python 移除 将编译好的python3 执行
ln -s /usr/local/python3/bin/python3 /usr/bin/python
2、setuptools安装
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python setup.py build
python setup.py install
3、pip安装(重要步骤)
https://pypi.org/project/pip/8.0.2/#files 里找到 pip
wget --no-check-certificate https://files.pythonhosted.org/packages/ce/15/ee1f9a84365423e9ef03d0f9ed0eba2fb00ac1fffdd33e7b52aea914d0f8/pip-8.0.2.tar.gz
python setup.py build
python setup.py install
3、所有的安装完毕后重新make & make install Python3.6.2
记得使用root 用户执行
4、执行indy-node 安装
pip install indy-node
终于走上了正轨...
[chain@iz2zeivrkckulq2dtidztmz pip-8.0.2]$ cd /usr/local/python3/bin/
[chain@iz2zeivrkckulq2dtidztmz bin]$ ls
2to3 easy_install idle3 pip pip3.5 pydoc3 python3 python3.6-config python3.6m-config pyvenv
2to3-3.6 easy_install-3.6 idle3.6 pip3 pip3.6 pydoc3.6 python3.6 python3.6m python3-config pyvenv-3.6
[chain@iz2zeivrkckulq2dtidztmz bin]$ cd /usr/bin/pip
-bash: cd: /usr/bin/pip: Not a directory
[chain@iz2zeivrkckulq2dtidztmz bin]$ cd /usr/bin/
[chain@iz2zeivrkckulq2dtidztmz bin]$ rm -rf pip
rm: cannot remove ‘pip’: Permission denied
[chain@iz2zeivrkckulq2dtidztmz bin]$ sudo rm -rf pip
[chain@iz2zeivrkckulq2dtidztmz bin]$ ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
ln: failed to create symbolic link ‘/usr/bin/pip’: Permission denied
[chain@iz2zeivrkckulq2dtidztmz bin]$ sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
[chain@iz2zeivrkckulq2dtidztmz bin]$ pip install indy-node
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==8.0.2', 'console_scripts', 'pip3')()
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 550, in load_entry_point
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 2710, in load_entry_point
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 2370, in load
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 2376, in resolve
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/__init__.py", line 15, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/vcs/subversion.py", line 9, in <module>
from pip.index import Link
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/index.py", line 29, in <module>
from pip.wheel import Wheel, wheel_ext
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/wheel.py", line 39, in <module>
from pip._vendor.distlib.scripts import ScriptMaker
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/_vendor/distlib/scripts.py", line 14, in <module>
from .compat import sysconfig, detect_encoding, ZipFile
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/_vendor/distlib/compat.py", line 66, in <module>
from urllib.request import (urlopen, urlretrieve, Request, url2pathname,
ImportError: cannot import name 'HTTPSHandler'
[chain@iz2zeivrkckulq2dtidztmz bin]$ sudo yum install openssl-devel
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Loading mirror speeds from cached hostfile
Package 1:openssl-devel-1.0.2k-12.el7.x86_64 already installed and latest version
Nothing to do
[chain@iz2zeivrkckulq2dtidztmz bin]$ pip install indy-node
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==8.0.2', 'console_scripts', 'pip3')()
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 550, in load_entry_point
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 2710, in load_entry_point
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 2370, in load
File "/usr/local/python3/lib/python3.6/site-packages/setuptools-19.6-py3.6.egg/pkg_resources/__init__.py", line 2376, in resolve
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/__init__.py", line 15, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/vcs/subversion.py", line 9, in <module>
from pip.index import Link
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/index.py", line 29, in <module>
from pip.wheel import Wheel, wheel_ext
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/wheel.py", line 39, in <module>
from pip._vendor.distlib.scripts import ScriptMaker
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/_vendor/distlib/scripts.py", line 14, in <module>
from .compat import sysconfig, detect_encoding, ZipFile
File "/usr/local/python3/lib/python3.6/site-packages/pip-8.0.2-py3.6.egg/pip/_vendor/distlib/compat.py", line 66, in <module>
from urllib.request import (urlopen, urlretrieve, Request, url2pathname,
ImportError: cannot import name 'HTTPSHandler'
[chain@iz2zeivrkckulq2dtidztmz bin]$ pip install indy-node
Collecting indy-node
Cache entry deserialization failed, entry ignored
Using cached https://files.pythonhosted.org/packages/7c/a5/b7a92afef3313f1ee536179d1ff67b56ccea2965cf1353781c8cae600062/indy-node-1.4.66.tar.gz
Collecting indy-plenum==1.4.45 (from indy-node)
Downloading https://files.pythonhosted.org/packages/d9/fc/e27d78b7a6dfcf4526dfacc569d0210763028daccad0cfee12919b7e9ccb/indy-plenum-1.4.45.tar.gz (663kB)
100% |████████████████████████████████| 665kB 95kB/s
Collecting indy-anoncreds==1.0.11 (from indy-node)
Downloading https://files.pythonhosted.org/packages/72/e6/18b963e3f1120c0e3dca8868b61cf62a63f20d4f7f4e07aec746f8e638a8/indy-anoncreds-1.0.11.tar.gz
Collecting python-dateutil (from indy-node)
Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
100% |████████████████████████████████| 215kB 38kB/s
Collecting timeout-decorator==0.4.0 (from indy-node)
Downloading https://files.pythonhosted.org/packages/a2/bc/bc7395efa9212c5507c489cd348ad50ac437dbfc94fa5d88f87e58f9fa3c/timeout-decorator-0.4.0.tar.gz
Collecting jsonpickle==0.9.6 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/32/d5/2f47f03d3f64c31b0d7070b488274631d7567c36e81a9f744e6638bb0f0d/jsonpickle-0.9.6.tar.gz (67kB)
100% |████████████████████████████████| 71kB 28kB/s
Collecting ujson==1.33 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/98/8c/47949a4e454b7ee27cf82a81735414187368fb94bae94de0291903c9881b/ujson-1.33.zip (197kB)
100% |████████████████████████████████| 204kB 55kB/s
Collecting prompt_toolkit==0.57 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/e4/72/c542552c487cfdb733db8c8ce4267ed8952059529fe5ab699ecc5d8f8c62/prompt_toolkit-0.57-py3-none-any.whl (208kB)
100% |████████████████████████████████| 215kB 73kB/s
Collecting pygments==2.2.0 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/02/ee/b6e02dc6529e82b75bb06823ff7d005b141037cb1416b10c6f00fc419dca/Pygments-2.2.0-py2.py3-none-any.whl (841kB)
100% |████████████████████████████████| 849kB 21kB/s
Collecting rlp==0.5.1 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/1a/36/58a4ce5d4613e1a86f519508257ff9955ead0bb46876c79705882fe6c39e/rlp-0.5.1-py2.py3-none-any.whl
Collecting sha3==0.2.1 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/b3/b4/d23c8e8843226dcf54c6c533a6717d34d50358f74496cfa77e6e8c7e146a/sha3-0.2.1.tar.gz (616kB)
100% |████████████████████████████████| 624kB 44kB/s
Collecting leveldb (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/ec/c1/ca3b4199bd4073e6430076f1edd8061f2f548e831eeddc3cbc077ebaa0ca/leveldb-0.194.tar.gz (228kB)
100% |████████████████████████████████| 235kB 63kB/s
Collecting ioflo==1.5.4 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/d7/1a/a4af376edc47a152ce564b3374c6024e225d46ff3288aca9346e54b87ad9/ioflo-1.5.4.tar.gz (228kB)
100% |████████████████████████████████| 235kB 28kB/s
Collecting semver==2.7.9 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/40/56/d1f930872436300b474a447a8042091bd335119f0c58bd8647546d6c3dc0/semver-2.7.9.tar.gz
Collecting base58==1.0.0 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/3d/0a/ad8e05b85c0e07b82a89b0a6215d60e236011f72111c26b99b7cb9af45f5/base58-1.0.0.tar.gz
Collecting orderedset==2.0 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/87/87/11c59b112fa58fc23d77e4dc8dae4c7cc56ef7f4468e381a82fe2979a682/orderedset-2.0.tar.gz (78kB)
100% |████████████████████████████████| 81kB 41kB/s
Collecting sortedcontainers==1.5.7 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/b8/8c/d7de1a8f5bc878c1ff143aed7e0bb96846785b1d899fb15047376b4ad50e/sortedcontainers-1.5.7-py2.py3-none-any.whl
Collecting psutil==5.4.3 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz (412kB)
100% |████████████████████████████████| 419kB 90kB/s
Requirement already satisfied: pip<10.0.0 in /usr/local/python3/lib/python3.6/site-packages (from indy-plenum==1.4.45->indy-node)
Collecting portalocker==0.5.7 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/95/a7/45436b037b7c98ef7757c50d2b170c8cb0f978e6d2e4fc44bf64ca888a24/portalocker-0.5.7.tar.gz
Collecting pyzmq==17.0.0 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/58/0e/d40ee65acabb0776ccdade96812adc0438051ef6cff1ddbe4da463604867/pyzmq-17.0.0-cp36-cp36m-manylinux1_x86_64.whl (3.1MB)
100% |████████████████████████████████| 3.1MB 66kB/s
Collecting libnacl==1.6.1 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/60/55/0ce2a0b37264b8ec2be2765fdeefc5e7991b54f78bc9142120fa3f352782/libnacl-1.6.1-py2.py3-none-any.whl
Collecting six==1.11.0 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting intervaltree==2.1.0 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/ca/c1/450d109b70fa58ca9d77972b02f69222412f9175ccf99fdeaf167be9583c/intervaltree-2.1.0.tar.gz
Collecting msgpack-python==0.4.6 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/15/ce/ff2840885789ef8035f66cd506ea05bdb228340307d5e71a7b1e3f82224c/msgpack-python-0.4.6.tar.gz (116kB)
100% |████████████████████████████████| 122kB 51kB/s
Collecting indy-crypto==0.4.1 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/8f/9a/e84e577e06be53a4d02a3afe30a407aec76dca810104cef642bd73fb3119/indy_crypto-0.4.1.tar.gz
Collecting python-rocksdb==0.6.9 (from indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/66/ec/5668df5564ef3bc6aa985ac5609ac716d4808b935f69e0e4720460a58b0e/python-rocksdb-0.6.9.tar.gz (179kB)
100% |████████████████████████████████| 184kB 47kB/s
新问题
Collecting attrs>=17.4.0 (from pytest->indy-crypto==0.4.1->indy-plenum==1.4.45->indy-node)
Downloading https://files.pythonhosted.org/packages/41/59/cedf87e91ed541be7957c501a92102f9cc6363c623a7666d69d51c78ac5b/attrs-18.1.0-py2.py3-none-any.whl
Installing collected packages: jsonpickle, ujson, wcwidth, six, pygments, prompt-toolkit, rlp, sha3, leveldb, ioflo, semver, base58, orderedset, sortedcontainers, psutil, portalocker, pyzmq, libnacl, intervaltree, msgpack-python, atomicwrites, py, pluggy, more-itertools, attrs, pytest, indy-crypto, python-rocksdb, python-dateutil, indy-plenum, pyparsing, Charm-Crypto, lazy-object-proxy, indy-anoncreds, timeout-decorator, indy-node
Running setup.py install for jsonpickle ... error
Complete output from command /usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-p4ow0tfv/jsonpickle/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-_v49_amn-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/jsonpickle
copying jsonpickle/util.py -> build/lib/jsonpickle
copying jsonpickle/__init__.py -> build/lib/jsonpickle
copying jsonpickle/unpickler.py -> build/lib/jsonpickle
copying jsonpickle/handlers.py -> build/lib/jsonpickle
copying jsonpickle/backend.py -> build/lib/jsonpickle
copying jsonpickle/compat.py -> build/lib/jsonpickle
copying jsonpickle/version.py -> build/lib/jsonpickle
copying jsonpickle/tags.py -> build/lib/jsonpickle
copying jsonpickle/pickler.py -> build/lib/jsonpickle
creating build/lib/jsonpickle/ext
copying jsonpickle/ext/__init__.py -> build/lib/jsonpickle/ext
copying jsonpickle/ext/numpy.py -> build/lib/jsonpickle/ext
running install_lib
creating /usr/local/python3/lib/python3.6/site-packages/jsonpickle
error: could not create '/usr/local/python3/lib/python3.6/site-packages/jsonpickle': Permission denied
----------------------------------------
Command "/usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-p4ow0tfv/jsonpickle/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-_v49_amn-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-p4ow0tfv/jsonpickle/
看问题描述jsonpickle插件安装失败,原因是没有权限
sudo pip install jsonpickle
creating build/lib.linux-x86_64-3.6
gcc -pthread -shared build/temp.linux-x86_64-3.6/./python/ujson.o build/temp.linux-x86_64-3.6/./python/objToJSON.o build/temp.linux-x86_64-3.6/./python/JSONtoObj.o build/temp.linux-x86_64-3.6/./lib/ultrajsonenc.o build/temp.linux-x86_64-3.6/./lib/ultrajsondec.o -o build/lib.linux-x86_64-3.6/ujson.cpython-36m-x86_64-linux-gnu.so
running install_lib
copying build/lib.linux-x86_64-3.6/ujson.cpython-36m-x86_64-linux-gnu.so -> /usr/local/python3/lib/python3.6/site-packages
error: could not create '/usr/local/python3/lib/python3.6/site-packages/ujson.cpython-36m-x86_64-linux-gnu.so': Permission denied
----------------------------------------
Command "/usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-n2j9qe1y/ujson/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-a5b3oets-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-n2j9qe1y/ujson/
直接sudo pip install indy-node
还是报错 只好一个个解决
Collecting attrs>=17.4.0 (from pytest->indy-crypto==0.4.1->indy-plenum==1.4.45->indy-node)
Downloading http://mirrors.aliyun.com/pypi/packages/41/59/cedf87e91ed541be7957c501a92102f9cc6363c623a7666d69d51c78ac5b/attrs-18.1.0-py2.py3-none-any.whl
Installing collected packages: ujson, wcwidth, six, pygments, prompt-toolkit, rlp, sha3, leveldb, ioflo, semver, base58, orderedset, sortedcontainers, psutil, portalocker, pyzmq, libnacl, intervaltree, msgpack-python, py, pluggy, more-itertools, atomicwrites, attrs, pytest, indy-crypto, python-rocksdb, python-dateutil, indy-plenum, pyparsing, Charm-Crypto, lazy-object-proxy, indy-anoncreds, timeout-decorator, indy-node
Running setup.py install for ujson ... done
Running setup.py install for sha3 ... done
Running setup.py install for leveldb ... done
Running setup.py install for ioflo ... done
Running setup.py install for semver ... done
Running setup.py install for base58 ... done
Running setup.py install for orderedset ... done
Running setup.py install for psutil ... done
Running setup.py install for portalocker ... done
Running setup.py install for intervaltree ... done
Running setup.py install for msgpack-python ... done
Running setup.py install for indy-crypto ... done
Running setup.py install for python-rocksdb ... error
Complete output from command /usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-odezo_5m/python-rocksdb/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-6vtkbgki-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/merge_operators.py -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/__init__.py -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/errors.py -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/interfaces.py -> build/lib.linux-x86_64-3.6/rocksdb
creating build/lib.linux-x86_64-3.6/rocksdb/tests
copying rocksdb/tests/__init__.py -> build/lib.linux-x86_64-3.6/rocksdb/tests
copying rocksdb/tests/test_db.py -> build/lib.linux-x86_64-3.6/rocksdb/tests
copying rocksdb/tests/test_memtable.py -> build/lib.linux-x86_64-3.6/rocksdb/tests
copying rocksdb/tests/test_options.py -> build/lib.linux-x86_64-3.6/rocksdb/tests
running egg_info
writing python_rocksdb.egg-info/PKG-INFO
writing dependency_links to python_rocksdb.egg-info/dependency_links.txt
writing requirements to python_rocksdb.egg-info/requires.txt
writing top-level names to python_rocksdb.egg-info/top_level.txt
warning: manifest_maker: standard file '-c' not found
reading manifest file 'python_rocksdb.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'python_rocksdb.egg-info/SOURCES.txt'
copying rocksdb/_rocksdb.cpp -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/_rocksdb.pyx -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/backup.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/cache.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/comparator.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/db.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/env.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/filter_policy.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/iterator.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/logger.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/memtablerep.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/merge_operator.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/options.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/slice_.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/slice_transform.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/snapshot.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/status.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/std_memory.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/table_factory.pxd -> build/lib.linux-x86_64-3.6/rocksdb
copying rocksdb/universal_compaction.pxd -> build/lib.linux-x86_64-3.6/rocksdb
creating build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/comparator_wrapper.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/filter_policy_wrapper.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/memtable_factories.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/merge_operator_wrapper.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/slice_transform_wrapper.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/utils.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
copying rocksdb/cpp/write_batch_iter_helper.hpp -> build/lib.linux-x86_64-3.6/rocksdb/cpp
running build_ext
skipping 'rocksdb/_rocksdb.cpp' Cython extension (up-to-date)
building 'rocksdb._rocksdb' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/rocksdb
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/python3/include/python3.6m -c rocksdb/_rocksdb.cpp -o build/temp.linux-x86_64-3.6/rocksdb/_rocksdb.o -std=c++11 -O3 -Wall -Wextra -Wconversion -fno-strict-aliasing -fno-rtti
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
rocksdb/_rocksdb.cpp:549:27: fatal error: rocksdb/slice.h: No such file or directory
#include "rocksdb/slice.h"
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/local/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-odezo_5m/python-rocksdb/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-6vtkbgki-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-odezo_5m/python-rocksdb/
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
【解决步骤】
按照经验,觉得应该是缺少了gcc模块, 所以操作 [ yum install -y gcc ]
安装完成后,再继续安装psutil还是报同样的错,发现报错不是 not found gcc,可能是某个功能模块缺失
发现需要安装多一些依赖的包: [ yum install -y libffi-devel python-devel openssl-devel ]
sudo yum install zlib
sudo yum install zlib-develsudo yum install bzip2
sudo yum install bzip2-devel
如何安装rocksdb
依赖插件
Linux - CentOS
Upgrade your gcc to version at least 4.7 to get C++11 support: yum install gcc47-c++
Install gflags:
wget https://gflags.googlecode.com/files/gflags-2.0-no-svn-files.tar.gz
tar -xzvf gflags-2.0-no-svn-files.tar.gz
cd gflags-2.0
./configure && make && sudo make install
Install snappy:
wget https://snappy.googlecode.com/files/snappy-1.1.1.tar.gz
tar -xzvf snappy-1.1.1.tar.gz
cd snappy-1.1.1
./configure && make && sudo make install
Install zlib:
sudo yum install zlib
sudo yum install zlib-devel
Install bzip2:
sudo yum install bzip2
sudo yum install bzip2-devel
leveldb-devel snappy-devel
手动安装python rocksdb
sudo pip install "Cython>=0.20"
sudo pip install git+git://github.com/stephan-hof/[email protected]
1010 cd rocksdb/
1011 ls
1012 cd ../
1013 ls
1014 cd ../
1015 ls
1016 cd rocksdb/
1017 ls
1018 vi Make
1019 vi Makefile
1020 sudo git checkout 2.8.fb
1021 sudo make shared_lib
1022 ls
1023 sudo cp librocksdb.so /usr/local/lib
1024 sudo mkdir -p /usr/local/include/rocksdb/
1025 sudo cp -r ./include/* /usr/local/include/
sudo git checkout 2.8.fb
sudo make shared_lib
修改环境变量,头文件库和链接库以及路径(直接在终端输入即可)
$ export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:`pwd`/include
$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`
$ export LIBRARY_PATH=${LIBRARY_PATH}:`pwd`
参考资料
https://blog.csdn.net/linuxheik/article/details/52586574
https://pypi.org/project/python-rocksdb/
https://www.cnblogs.com/shuren/p/3981744.html
http://www.mamicode.com/info-detail-218321.html
https://www.nuget.org/packages/Snappy/ 安装
欢迎大家一起加入讨论!!!