当我尝试从pyftpdlib导入ftpserver时,它会输出"ImportError: cannot import name ftpserver"


from pyftpdlib import ftpserver
HOSTNAME = "localhost"
PORT = 5555
authorizer = ftpserver.DummyAuthorizer()
authorizer.add_user("papakri", "dancinghotdogs", "/Users/alexandrospapakribopoulos/Documents/Programming")
authorizer.anonymous("/Users/alexandrospapakribopoulos/Documents/Programming")
handler = ftpserver.FTPHandler
handler.authorizer = authorizer
connection = (HOSTNAME, PORT)
ftpd = ftpsserver.FTPServer(connection, handler)
ftpd.serve_forever()

我正在尝试创建一个基本的FTP,并与我创建的HTTP服务器连接和连接。 我对python有点陌生,所以即使它真的很明显,也请指出来。 我正在使用python 2.7.10。 提前谢谢。

首先,
  • 如果不先这样做,你已经pip install pyftpdlib
  • 下一步您错误地导入 ftp 服务器from pyftpdlib.servers import FTPServer这是您应该根据文档导入它的方式 https://pythonhosted.org/pyftpdlib/tutorial.html#building-a-base-ftp-server
  • 然后,可以将连接详细信息馈送到构造函数中

确保已安装软件包:

pip install pyftpdlib

如果您使用虚拟环境,请确保在安装了虚拟环境的情况下执行此操作。如果你不知道我在说什么,就忘记这句话。

然后,根据存储库中的示例, 您的代码应该是:

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/home/giampaolo", perm="elradfmw")
authorizer.add_anonymous("/home/nobody")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("127.0.0.1", 21), handler)
server.serve_forever()

与包版本相比,您的代码段可能已过期。

看起来你有osx操作系统.对于Mac,你可以安装python使用brew如下:

brew install python

然后你有pipPython 的包管理器,然后你可以使用以下命令安装pyftpdlib包:

pip install pyftpdlib

然后您可以再次尝试运行代码

总之,我可以说你可以像这样在操作系统中高大的包:

Linux基于apt-get存储库管理器

sudo apt-get install pip
pip install your_package_name

OSX

brew install python
pip install your_package_name

CentOS/RHEL

sudo yum install python-pip
pip install your_package_name

最新更新