2016-08-12 2 views
0

У меня есть виртуальная среда, настроенная под управлением Python 3.5. Я провел команду источника и побежал пип установить битбокс:Виртуальная среда «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 

Может кто-нибудь сказать, что я делаю неправильно или что-нибудь, что я могу попробовать?

Спасибо!

Dan

* PS В PyCharm под переводчиком, он показывает пакет как устанавливаются.

ответ

1

Проблема в том, что битбокс был написан для Python 2.x. 'pip instal beatbox3', и это сработало.

1

Вы устранили эту проблему. Но я расскажу вам кое-что еще.

В Python, запустите этот код:

import sys 
print(sys.path) 

это будет печатать переменное окружение. Если Вы обнаружили, что переменная окружения вашей системы языка Python вместо вашей venv Python, то причина должна одна из этих двух причин:

  1. вы прописан псевдоним в .zshrc и точку python на питона пути системы. Если это так, просто удалите псевдоним.
  2. неработает ссылка на ваш питон в Вене. он не может найти нужное место для двоичного кода python. Если это так, перестройте программную ссылку или заново создайте venv и используйте параметр: --copy virutalenv venv --copy