【背景】
今天打包人生中的第一个package到PyPi,在linux上执行pip3 install mysqltools-python安装一点问题都没有,打脸的是在自己的MAC上
居然安装不上
pip3 install mysqltools-python
Collecting mysqltools-python
Downloading https://files.pythonhosted.org/packages/46/da/de9495da7bf0ee9225a1f1988ab5cb4e8573388338df1e55d8b5272c413a/mysqltools-python-2.18.09.01.tar.gz
Collecting mysql-connector-python>=8.0. (from mysqltools-python)
Downloading https://files.pythonhosted.org/packages/23/ca/9bb3e8c2ae661f7f5ca3425cbcb82f7e676276d2d07d17812c4e1a83fa0b/mysql_connector_python-8.0.12-cp36-cp36m-macosx_10_12_x86_64.whl (3.5MB)
% |████████████████████████████████| .5MB 435kB/s
Requirement already satisfied: protobuf>=3.0. in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3./site-packages (from mysql-connector-python>=8.0.->mysqltools-python) (3.5.)
Requirement already satisfied: six>=1.9 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3./site-packages (from protobuf>=3.0.->mysql-connector-python>=8.0.->mysqltools-python) (1.11.)
Requirement already satisfied: setuptools in ./Library/Python/3.6/lib/python/site-packages (from protobuf>=3.0.->mysql-connector-python>=8.0.->mysqltools-python) (40.2.)
Building wheels for collected packages: mysqltools-python
Running setup.py bdist_wheel for mysqltools-python ... done
Stored in directory: /Users/jianglexing/Library/Caches/pip/wheels///6a/3f6c6442c7f3608c70d4d3f35e43146712b49bcdfa33485be8
Successfully built mysqltools-python
Installing collected packages: mysql-connector-python, mysqltools-python
Found existing installation: mysql-connector-python 2.1.
Cannot uninstall 'mysql-connector-python'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
看报错的信息提示说“Cannot unintall mysql-connector-python” 由于mysqltools-python依赖于mysql-connector-python-8.0.12
所以pip会先把我机器上低版本的“mysql-connector-python”卸载掉,然后安装“mysql-connector-python-8.0.12”以上版本的;
现在的问题就出在了卸载“mysql-connector-python”上。
【第一回合 手工卸载mysql-connector-python】
pip3 uninstall mysql-connector-python
Cannot uninstall 'mysql-connector-python'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
You are using pip version 10.0., however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
看来还是太年轻了,手工卸载不了!
【第二回合 google】
google了一下之后发现并不是只有我一个人遇到了这个问题,这个是pip-10.0.1版本的一个bug,这样解决方案就来了,我只要把pip3的版本
降下去就行了
pip --version
pip 10.0. from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3./site-packages/pip (python 3.6) pip install --upgrade --force-reinstall pip==9.0.
Collecting pip==9.0.
Downloading https://files.pythonhosted.org/packages/ac/95/a05b56bb975efa78d3557efa36acaf9cf5d2fd0ee0062060493687432e03/pip-9.0.3-py2.py3-none-any.whl (1.4MB)
% |████████████████████████████████| .4MB .2MB/s
Installing collected packages: pip
Found existing installation: pip 10.0.
Uninstalling pip-10.0.:
Successfully uninstalled pip-10.0.
Successfully installed pip-9.0.
【第三回合 安装mysqltools-python】
pip3 install mysqltools-python
Collecting mysqltools-python
Downloading https://files.pythonhosted.org/packages/46/da/de9495da7bf0ee9225a1f1988ab5cb4e8573388338df1e55d8b5272c413a/mysqltools-python-2.18.09.01.tar.gz
Collecting mysql-connector-python>=8.0. (from mysqltools-python)
Cache entry deserialization failed, entry ignored
Cache entry deserialization failed, entry ignored
Downloading https://files.pythonhosted.org/packages/23/ca/9bb3e8c2ae661f7f5ca3425cbcb82f7e676276d2d07d17812c4e1a83fa0b/mysql_connector_python-8.0.12-cp36-cp36m-macosx_10_12_x86_64.whl (3.5MB)
% |████████████████████████████████| .5MB 230kB/s
Requirement already satisfied: protobuf>=3.0. in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3./site-packages (from mysql-connector-python>=8.0.->mysqltools-python)
Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3./site-packages (from protobuf>=3.0.->mysql-connector-python>=8.0.->mysqltools-python)
Requirement already satisfied: six>=1.9 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3./site-packages (from protobuf>=3.0.->mysql-connector-python>=8.0.->mysqltools-python)
Building wheels for collected packages: mysqltools-python
Running setup.py bdist_wheel for mysqltools-python ... done
Stored in directory: /var/root/Library/Caches/pip/wheels///6a/3f6c6442c7f3608c70d4d3f35e43146712b49bcdfa33485be8
Successfully built mysqltools-python
Installing collected packages: mysql-connector-python, mysqltools-python
Successfully installed mysql-connector-python-8.0. mysqltools-python-2.18.9.1
You are using pip version 9.0., however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
sh-3.2#
【学习交流】
-----------------------------http://www.sqlpy.com-------------------------------------------------
-----------------------------http://www.sqlpy.com-------------------------------------------------
---