2017-03-31 77 views
0

Python3.5在虚拟环境中调用时未找到已安装的模块。Python没有找到已安装的模块

  1. 创建虚拟ENV:python3.5 -m venv autogit/venv && cd autogit
  2. source venv/bin/activate
  3. which python == ...autogit/venv/bin/python 怪异,期望python3.5
  4. 我的Python源代码添加到/autogitpip freeze>requirements.txt
  5. pip install -r requirements.txt
  6. ls venv/lib/python3.5/site-packages显示request-0-0-0-py3.5.egg-info和一些其他的东西
  7. 由于依赖项下python3.5安装和which python透露蟒蛇而不是python3.5,让明确调用python3.5binary .... venv/bin/python3.5 autogit.py 获取ImportError: No module named 'request

???如果不是我的虚拟环境中,Python可以在哪里寻找软件包?

UPDATE上述问题仍未解答;下面这些事情,因为这时我才发现和解决方法我用:

  • pip install制作的文件request-0-0-0-py3.5.egg-info。它没有生成一个实际的request目录,其中包含该模块的源代码或二进制文件。也为什么它是0 0 0是腥

  • 经过一些谷歌搜索后,我注意到我想要的模块似乎被命名为requests而不是request这就是我的来源。我改变了它的要求,pip install,一切正常。这是很难看到,有一个错误,因为pip install荷兰国际集团request没有失败

+0

开始蟒蛇,'进口SYS; print(sys.path)' – kindall

+0

我做了你所做的,在venv/lib/python3.5/site-packages中找到“requests”,所以也许有些操作系统设置 - 错过了或者某事 – najjarammar

+0

@kindall'['', '/Users/xxx/Documents/ab/dev/autogit/venv/lib/python3.5/site-packages','/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip','/ Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5','/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin','/ Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload']' – aeb0

回答

1

你有没有安装其他的Python版本?这可能是问题所在。

尝试使用的pip3代替pip

+0

还有其他版本的python被安装,但我不明白为什么这应该很重要,因为我明确地调用了python3.5二进制文件,不是吗?另外,在'python3.5'下可以看到'site-packages',假设使用了'pip3'并不安全? – aeb0

+0

尽管如此,按照你的建议:'pip3 install -r requirements.txt'意外产生'你必须至少提供一个安装要求' – aeb0