【问题标题】:moving python lxml module to a remote directory将 python lxml 模块移动到远程目录
【发布时间】:2013-09-06 02:51:29
【问题描述】:

我刚刚花了一个小时查找此问题,但似乎找不到答案。 我正在运行许多 Windows 工作站和一些 linux 服务器。为了尽量减少 python 模块机器的安装,我将新模块安装到我的机器上,然后查看安装日志并将文件复制到服务器上的某个位置。每台机器都可以看到服务器位置,并且设置了环境和路径,这几个月来一直运行良好。

我刚刚安装了lxml并将site-packages/lxml目录复制到服务器。

本地安装有效,服务器安装无效。我明白了:

从 lxml 导入 etree

# Error: DLL load failed: The specified module could not be found.
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
# ImportError: DLL load failed: The specified module could not be found. # 

我为所有“lxml”文件搜索了本地 python26 目录,但我没有想出任何我没有复制过来的东西。版本= python 2.6.6 lxml-3.2.3.win-amd64-py2.6 有人有什么想法吗?我怎么没看到其他模块有这个问题?

感谢聪明人!

【问题讨论】:

  • 你想在 linux 机器上使用你的 windows python 库吗?
  • 不,只是访问它们。我们所有的工作站都是windows 7,Linux只用于服务器,我们不使用linux机器进行处理。

标签: python lxml python-2.6


【解决方案1】:

由于 lxml 使用 c 扩展名(编译后它们是 windows 上的 dll 文件或 unix/linux 上的 .so 文件),您无法使其工作,只需将 windows 上构建的文件简单地复制到服务器。

并且可以在lxml下载lxml的源代码, 和运行 python setup install 在服务器的lxml根目录下。

或者你可以在本地构建然后将构建的文件上传到服务器,只需在本地的lxml根目录下运行 python setup.py build ,然后将./build/*/lxml复制到服务器! 但它可能不起作用,因为它与平台相关!

【讨论】:

  • 有人知道 DLL 文件的位置吗?
  • linux中.so或.a文件的c扩展名,而windows中的DLL文件。(.so文件是编译的库文件。它代表“共享对象”,类似于a Windows DLL。)所以需要在linux中编译lxml但不要将windows中的DLL文件复制到linux服务器。
猜你喜欢
  • 2017-12-17
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
相关资源
最近更新 更多