虚拟环境 "no module named" 错误

Virtual Environment "no module named" error

我设置了一个虚拟环境运行 Python 3.5。我 运行 我的源命令和 运行 pip 来安装 beatbox:

(venv) Daniels-Air:bin danieldow$ pip list
beatbox (32.1)
pip (8.1.2)
requests (2.11.0)
setuptools (25.1.6)
six (1.10.0)
slack (0.0.2)
slackclient (1.0.1)
websocket-client (0.37.0)
wheel (0.29.0)

但是,当我尝试导入时,我得到:

    (venv) Daniels-Air:bin danieldow$ python3
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import beatbox
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/danieldow/venv-python3/venv/lib/python3.5/site-packages/beatbox/__init__.py", line 1, in <module>
    from _beatbox import _tPartnerNS, _tSObjectNS, _tSoapNS, SoapFaultError, SessionTimeoutError
ImportError: No module named '_beatbox'

在站点包中的 beatbox 目录中,-beatbox 模块在那里:

(venv) Daniels-Air:site-packages danieldow$ pwd
/Users/danieldow/venv-python3/venv/lib/python3.5/site-packages
(venv) Daniels-Air:site-packages danieldow$ cd beatbox
(venv) Daniels-Air:beatbox danieldow$ ls
__init__.py     _beatbox.py     python_client.py
__pycache__     marshall.py     xmltramp.py

有人可以告诉我我做错了什么或我可以尝试什么吗?

谢谢!

*PS 在 Pycharm 中,在解释器下,它确实显示正在安装包。

问题是 beatbox 是为 Python 2.x 编写的。 'pip instal beatbox3' 成功了。

你已经解决了这个问题。但我会告诉你更多的事情。

在Python中,请运行这些代码:

import sys
print(sys.path)

这将打印环境变量。如果你发现这些环境变量是你的系统 Python 而不是你的 venv Python,那么原因必须是以下两个原因之一:

  1. 您已在 .zshrc 中写入别名,并将 python 指向系统的 python 路径。如果是这样,只需删除别名即可。
  2. 您的 python 在 venv 中的软链接已损坏。它找不到 python 二进制文件的正确位置。如果是这样,重建软链接或重新创建一个venv并使用参数:--copy virutalenv venv --copy