小编jme*_*etz的帖子

导入'urllib3.util'在Python 2.7中失败了吗?

我正在处理由其他人编写的Python脚本.我试图让它在我的本地开发机器上运行没有任何问题.

我已经安装了脚本所需的模块(requests,urllib3和oath2),但是我收到了以下错误,我正在努力解决;

Traceback (most recent call last):
  File "/home/saeed/ps4/scrape/run.py", line 2, in <module>
    import get_data as gd, time
  File "/home/saeed/ps4/scrape/get_data.py", line 8, in <module>
    import sys, oauth2, requests, json
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 25, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/usr/local/lib/python2.7/dist-packages/requests/compat.py", line 7, in <module>
    from .packages import chardet
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
    from .connectionpool import …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

6
推荐指数
1
解决办法
3万
查看次数

跨平台部署和轻松安装

编辑

我想到的一个选项但是不太了解的是,例如,对于Windows,将批处理脚本编写为:

  • 搜索Python安装,下载并安装(如果不存在)
  • 然后使用distutils也安装捆绑包来处理依赖项.

看起来这可能是一个相对优雅和简单的解决方案,但我不知道如何继续 - 任何想法?

原始问题

简单来说

您会针对以下情况推荐什么方法?

  • 用于创建技术应用程序的Linux开发环境
  • 现在也可以部署在Windows和Mac上
  • Python中现有的代码库
  • wine 不会安装Windows版本的Python
  • 没有Windows安装可用于创建虚拟Windows/mac机器的CD
  • java由于现有的代码库,移植会产生很大的开销
  • 客户端不是技术用户,即提供标准的Python软件包还不够 - 真正需要可安装的自包含产品

背景

我正在Linux下编写技术和科学应用程序,但也需要其中一些可以部署在Windows/MacO机器上.

在过去,我经常使用Python,但我发现对于不熟悉安装python包的非技术用户来说,创建一个简单的可执行文件(通过使用eg py2exe)是很困难的,因为我无法获得Windows版本的使用Python安装wine.

虽然java看起来是一个不错的选择,但如果可能的话,我想避免从Python中移植现有代码,特别是因为Python也允许编写可移植代码.

我意识到我在这里试图涵盖很多基础,因此任何有关最合适的解决方案(即使不完美)的建议都将受到赞赏.

python cross-platform batch-file py2exe scientific-computing

5
推荐指数
1
解决办法
1770
查看次数