2016-08-12 109 views
0

我有一個運行Python 3.5的虛擬環境。我跑我的源命令和PIP跑到安裝口技:虛擬環境「no module named」error

(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模塊是存在的:

(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 

有人可以告訴mw我做錯了什麼,或者我可以嘗試嗎?

謝謝!

* PS在Pycharm,在翻譯,它確實表明了包作爲正在安裝。

回答

1

問題是,beatbox是爲Python 2.x編寫的。 'pip instal beatbox3',它工作。

1

您已解決此問題。但我會更多地告訴你一些事情。

在Python,請運行這些代碼:

import sys 
print(sys.path) 

這將打印環境變量。如果你發現這些環境變量是您的系統Python的,而不是你的VENV的Python,那麼原因必須在這兩方面的原因之一:

  1. 你writen在.zshrc別名,指向python系統的蟒蛇路徑。如果是這樣,只需刪除別名。
  2. 您的python在venv中的軟鏈接已損壞。它無法找到python二進制文件的正確位置。如果是這樣,重建軟鏈接或重新創建venv並使用參數:--copy virutalenv venv --copy