簡體   English   中英

sys.path 和模塊 - Python3.2

[英]sys.path and modules - Python3.2

我編譯了 Python 3.2 並嘗試運行下面的腳本:

#/opt/python3/bin/python3
import sys
sys.path.append('/usr/lib/python2.4/site-packages')
print(sys.path)
import os
import paramiko

輸出是:

['/home/web.script/scripts/radar_python', '/opt/python3/lib/python32.zip', '/opt/python3/lib/python3.2', '/opt/python3/lib/python3.2/plat-linux2', '/opt/python3/lib/python3.2/lib-dynload', '/opt/python3/lib/python3.2/site-packages', '/usr/lib/python2.4/site-packages']
Traceback (most recent call last):
  File "./check_log_radar2.py", line 6, in <module>
    import paramiko
ImportError: No module named paramiko

ls 命令顯示:

ls /usr/lib/python2.4/site-packages

Alacarte
cracklibmodule.so
dogtail
easy-install.pth
easy_install.py
easy_install.pyc
easy_install.pyo
elementtree
GMenuSimpleEditor
gmenu.so
iniparse
invest
libsvn
paramiko-1.7.5-py2.4.egg
paramiko-1.7.7.2-py2.4.egg
pirut
pkg_resources.py
pkg_resources.pyc
pkg_resources.pyo
pycrypto-2.6-py2.4-linux-x86_64.egg
rpmUtils
setroubleshoot
setuptools
setuptools-0.6c5-py2.4.egg-info
site.py
site.pyc
site.pyo
sos
svn
urlgrabber
yum

如果 paramiko 模塊在我的路徑上,為什么會出現錯誤?

簡短的回答是 Python 在 python 路徑目錄中搜索名為 paramiko 的目錄,其中包含__init__.py文件,或paramiko.py文件。 都不存在。

還有更多,看看這里http://docs.python.org/tutorial/modules.html

另外,看看這個(封閉的)問題: Paramiko 會被移植到 Python 3.x 嗎?

以及這個線程https://github.com/paramiko/paramiko/issues/16

你的路徑上沒有 paramiko 模塊,你的路徑上有 paramiko 蛋!setuptools 使一些魔法允許訪問蛋,但這僅適用於它實際安裝的 python。如果你想讓它工作您必須將包含模塊的蛋中的路徑添加到您的 sys.path 中。 但顯然最好將 paramiko 安裝到你的 pyton3 或使用 virtualenv。

ls向我們展示了 Python 2.4 安裝,但您的腳本正在運行 3。您的 Python 3 站點包中有什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM