Виртуальная среда Python - sys.path

Я пытаюсь использовать виртуальную среду python 3 на Kubuntu 17.04 (та же ошибка на Kubuntu 16.10).

Пакеты Python установлены при помощи Кв. а не некоторым другим источником, таким как зернышко, чтобы сделать виртуальную среду. Тот же код работает в среде Windows. Таким образом, это кажется мне проблемой ОС, а не проблемой Python. Это не находит библиотеки, я устанавливаю зернышко использования в виртуальной среде. Я сделал следующие шаги:

user@computer:~/development/python/testDB$ python3.6 -m venv /home/user/development/python/testDB/
user@computer:~/development/python/testDB$ source bin/activate
(testDB) user@computer:~/development/python/testDB$ pip install pymysql
Collecting pymysql
Using cached PyMySQL-0.7.11-py2.py3-none-any.whl
Installing collected packages: pymysql
Successfully installed pymysql-0.7.11
(testDB) user@computer:~/development/python/testDB$ ./testDB.py 
['/home/user/development/python/testDB', '/usr/lib/python35.zip','/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/home/user/.local/lib/python3.5/site-packages', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']
Traceback (most recent call last):
  File "./testDB.py", line 4, in <module>
  import pymysql
ImportError: No module named 'pymysql'
(testDB) user@computer:~/development/python/testDB$ python --version
Python 3.6.1

Путь к

 /home/user/development/python/testDB/lib/python3.6/site-packages

не установлен и поэтому библиотека не найдена.

Сценарий очень прост:

#!/usr/bin/python3
import sys
print(sys.path)
import pymysql 

Я не вижу, где я делаю ошибку. Кто-либо может помочь?

Добавленная информация 22.04.2017

Я сделал некоторое дополнительное тестирование и реконфигурирование...., к сожалению, ошибка не исчезает. Список установленных пакетов pip3:

sudo pip3 freeze
apt-xapian-index==0.47
apturl==0.5.2
chardet==2.3.0
command-not-found==0.3
cryptography==1.7.1
defer==1.0.6
distro-info===0.14build1
idna==2.2 
keyring==10.3.1 
keyrings.alt==2.2
language-selector==0.1
pdb-clone==1.10
pexpect==4.2.1
Pillow==4.0.0
ptyprocess==0.5.1
pyasn1==0.1.9
pyclewn==2.3
pycrypto==2.6.1
pycups==1.9.73
pycurl==7.43.0
Pygments==2.2.0
pygobject==3.22.0
python-apt==1.4.0b2
python-debian==0.1.30
pyxdg==0.25
PyYAML==3.12
reportlab==3.3.0
requests==2.10.0
SecretStorage==2.3.1
six==1.10.0
systemd-python==233
ubuntu-drivers-common==0.0.0
ufw==0.35
unattended-upgrades==0.1
urllib3==1.15.1
usb-creator==0.3.3
xkit==0.0.0
virtualenv==15.1.0

Pyhton 3 пакета, установленные с Кв. для виртуальной среды:

apt list --installed |grep python3-v

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

python3-venv/zesty,now 3.5.3-1 amd64 [installed]
python3-virtualenv/zesty,zesty,now 15.1.0+ds-1 all [installed]

Я удалил все пакеты и переустановил его. Теперь используйте Python 3.5, однако он не помог.

0
задан 22 April 2017 в 07:07

1 ответ

Кажется, что Вы используете #!/usr/bin/python3 в заголовке Вашего сценария. Это говорит удару выполнять сценарий с /usr/bin/python3, который не мог бы совпасть с python. При использовании виртуальная среда это почти наверняка не верно. Можно проверить, который Python, работал в venv с $ which python

Как решение, попытайтесь удалить первую строку и выполните сценарий как $ python testDB.py или, если необходимо выполнить его как сценарий, замените первую строку #!python.

1
ответ дан 3 November 2019 в 10:55

Другие вопросы по тегам:

Похожие вопросы: