Python:自定义程序包安装不导入模块

时间:2016-07-18 20:51:33

标签: python git pip virtualenv

我遇到了在Python 3.5中安装的this package的问题。安装后,我尝试运行requestProxy.py但它不会导入任何自己的包。这就是我做的,以及发生了什么。

我克隆了它并使用these instructions创建了一个私人仓库。

我安装了一个激活的virtualenv,在不使用sudo的情况下创建,使用:

pip3 install -e HTTP_Proxy_Randomizer 

终端说安装好了。

我可以在virtualenv的site-packages文件夹中找到egg链接,但是当我尝试运行主文件时,它说:

from project.http.requests.parsers.freeproxyParser import freeproxyParser
ImportError: No module named project.http.requests.parsers.freeproxyParser

我不得不为包编写一个setup.py,它似乎没有自带的。我提出了:

setup(name='HTTP_Request_Randomizer',
  version='1.0',
  description='HTTP Proxy Request Randomizer',
  package_dir={'project': 'project','http':'project/http',\
  'requests':'project/http/requests','errors':'project/http/requests/errors',\
  'parsers':'project/http/requests/parsers','proxy':'project/http/requests/proxy'},
  packages=['project','http','requests','errors','parsers','proxy']

这是包结构:

enter image description here

pip3冻结

给了我:

Complete output from command git config --get-regexp remote\..*\.url:
fatal: bad config file line 4 in /home/danny/.gitconfig

----------------------------------------
Error when trying to get requirement for VCS system Command "git config --get-regexp remote\..*\.url" failed with error code 128 in /home/danny/Documents/HTTP_Request_Randomizer, falling back to uneditable format
Could not determine repository location of /home/danny/Documents/HTTP_Request_Randomizer
Django==1.9.7
## !! Could not determine repository location
HTTP-Request-Randomizer==1.0
mysqlclient==1.3.7

所以我想让requestProxy.py安装其他必要的软件包而不是在第1行失败。我确信这是我的实现问题,而不是原作者的编码问题。我在几周前尝试使用这个软件包之前我才知道virtualenvs或pip install -e,并且只是手动将它复制到site-packages。它起作用了。现在我理解了更清晰地完成它的概念,但我无法让它们发挥作用。

感觉好像我的git配置或setup.py中的package_dir结构有问题,或许?

我已经玩了一个月,也有很多需要学习的东西。我通常在Stack Overflow上找到我需要的东西,而不必打扰任何人,但在尝试了一切之后,我真的需要一些帮助。任何建议都非常感激。

1 个答案:

答案 0 :(得分:0)

我明白了。我正在使用Ninja IDE,即使我进入了项目的virtualenv并重新启动,它仍然没有认识到它。我能够从终端运行它,也可以在Pycharm和Liclipse中运行它。