我创建了一个虚拟环境:
$ virtualenv my_ven_test
然后让我们用以下方式激活环境:
$ source my_ven_test/bin/activate
现在让我们安装一个包:
(my_ven_test) $ pip install mysql-connector==2.1.3
这最后一行不生效。事实上,如果我检查:
(my_ven_test) $ pip freeze
我看到没有安装软件包(以及my_ven_test/lib/python/site-package
目录不包含mysql-connector软件包)
你可以指导我解决这个问题吗?
一些注意事项:
答案 0 :(得分:8)
忘记virtualenv
,使用全新的Pipenv
recommended by Python.org
Pipenv
会自动为您的项目创建和管理 virtualenv ,以及在安装/卸载时添加/删除Pipfile
(以下详细信息)中的软件包包。
首先使用以下方式安装pipenv
$ pip install pipenv
然后,要安装项目特定的包,首先要创建项目文件夹,然后为项目安装所有必需的包,如:
$ mkdir myproject
$ cd myproject
# install `requests` library
$ pipenv install requests
# install more libraries required for your project
$ pipenv install mysql-connector
$ pipenv install numpy
这将创建两个文件,即Pipfile
和Pipfile.lock
。您可以在文件Pipfile
中找到当前项目的所有已安装软件包的列表,而Pipfile.lock
包含所有已安装软件包的sha256
哈希信息。他们的依赖。
完成项目所有必需软件包的安装后,请执行以下操作:
$ pipenv shell
将在虚拟环境中启动子shell。 (这与 source / your / virtualenv / activate )类似的工作
然后你可以开始编码了。例如,你可以通过启动Python shell并导入如下所示的软件包来测试已安装的软件包是否正常工作:
$ python
>>> import requests
# ....
要退出(virtualenv)shell,只需执行以下操作:
$ exit
现在,您已退出pipenv
创建的虚拟环境答案 1 :(得分:0)
尝试安装软件包而不激活virtualenv:
# Install it
my_ven_test/bin/pip install mysql-connector==2.1.3
# Use grep to check if exists
my_ven_test/bin/pip list | grep mysql-connector
如果可行,请尝试通过运行以下代码激活virtualenv:
. my_ven_test/bin/activate
尝试安装另一个包
pip install flake8
之后,搜索这两个包
pip list | grep mysql-connector
pip list | grep flake8
让我知道结果。
答案 2 :(得分:0)
当您处于通气状态时,应使用以下方法安装软件包:
py -m pip install mysql-connector==2.1.3
-m确保软件包已安装到您的venv中,而不是安装到根python中