虚拟环境没有模块名

2024-10-01 09:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个运行python3.5的虚拟环境。我运行source命令并运行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)

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

^{pr2}$

在站点包中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中,在“解释器”下,它确实显示包正在安装。在


Tags: pippy命令clientsourcebinvenvpackages
2条回答

问题是beatbox是为Python2.x.“pip instal beatbox3”编写的,而且很有效。在

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

在Python中,请运行以下代码:

import sys
print(sys.path)

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

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

相关问题 更多 >