通过pip安装pysftp失败(因为有2个python2.x版本?)

dohp0rv5  于 2024-01-05  发布在  Python
关注(0)|答案(2)|浏览(362)

我的Ubuntu 10.04附带了Python 2.6。现在,我还安装了Python 2.7,这是现在的系统默认值,因为当我从终端启动python时,它会启动Python 2.7。
现在,我想使用pip安装库pysftp,但我很难做到这一点。下面是我尝试的一些结果和结论。我做了pip install pysftp,但它说:

  1. Downloading/unpacking pysftp
  2. Running setup.py egg_info for package pysftp
  3. Traceback (most recent call last):
  4. File "<string>", line 3, in <module>
  5. File "/usr/local/lib/python2.6/dist-packages/setuptools/__init__.py", line 12, in <module>
  6. from setuptools.extension import Extension
  7. File "/usr/local/lib/python2.6/dist-packages/setuptools/extension.py", line 8, in <module>
  8. from .dist import _get_unpatched
  9. File "/usr/local/lib/python2.6/dist-packages/setuptools/dist.py", line 21, in <module>
  10. packaging = pkg_resources.packaging
  11. AttributeError: 'module' object has no attribute 'packaging'
  12. Complete output from command python setup.py egg_info:
  13. Traceback (most recent call last):
  14. File "<string>", line 3, in <module>
  15. File "/usr/local/lib/python2.6/dist-packages/setuptools/__init__.py", line 12, in <module>
  16. from setuptools.extension import Extension
  17. File "/usr/local/lib/python2.6/dist-packages/setuptools/extension.py", line 8, in <module>
  18. from .dist import _get_unpatched
  19. File "/usr/local/lib/python2.6/dist-packages/setuptools/dist.py", line 21, in <module>
  20. packaging = pkg_resources.packaging
  21. AttributeError: 'module' object has no attribute 'packaging'
  22. ----------------------------------------
  23. Command python setup.py egg_info failed with error code 1
  24. Storing complete log in ./pip-log.txt

字符串
在我看来,pip(显然是在Python 2.7安装之前安装的)链接到旧版本的Python,它不支持pysftp。还因为当我执行pip --version时,它说:

  1. pip 0.3.1 from /usr/lib/python2.6/dist-packages (python 2.6)


当我执行whereis python时,它会给我以下信息:

  1. python: /usr/src/Python-2.7.10/python /usr/bin/python2.6 /usr/bin/python /etc/python2.6 /etc/python /usr/lib/python2.6 /usr/lib/python3.1 /usr/lib64/python2.6 /usr/lib64/python3.1 /usr/local/bin/python2.7-config /usr/local/bin/python /usr/local/bin/python2.7 /usr/local/lib/python2.6 /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/python /usr/share/man/man1/python.1.gz


如何安装pysftp?

frebpwbc

frebpwbc1#

你需要为Python 2.7重新安装pip,然后运行pip2.7 install pysftp。你需要为你想要使用的每个Python版本安装pipsetuptools包可能是最简单的方法;你可以简单地运行以下命令来一次性完成所有操作:

  1. wget https://bootstrap.pypa.io/ez_setup.py -O --no-check-certificate - | sudo python2.7 && sudo easy_install-2.7 pip && sudo pip2.7 install pysftp

字符串
有时旧版Linux安装会出现上述命令的问题,因为在通过ez_setup.py下载完整的setuptools包时会出现“无效”证书的问题(有关更多详细信息,请参阅此处)。可以使用以下替代命令来规避此问题:

  1. wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.8.1.zip --no-check-certificate && unzip setuptools-18.8.1.zip && cd setuptools-18.8.1 && sudo python setup.py install && sudo easy_install-2.7 pip && sudo pip2.7 install pysftp

2exbekwf

2exbekwf2#

我认为你需要安装某种'必需品包'使用的代码

  1. sudo apt-get install build-essential libssl-dev libffi-dev python-dev

字符串
然后你可以安装:

  1. sudo pip install pysftp
  2. sudo pip install enum

相关问题