- 此问题已在此处有答案**:
How do I activate a virtualenv inside PyCharm's terminal?(32个回答)
4个月前关闭。
我第一次在python中尝试虚拟环境。我的机器上安装了Python 3.6和Python 2.7。我已经在Python 3.6中安装了所有必要的包。但是,我的代码似乎与Python 2.7兼容。因此,我选择了Virtaul Env。但我无法访问我需要的包。我已经通过堆栈溢出的问题,但没有帮助。我尝试了以下步骤:
- 在pycharm中创建新项目
- 使用解释器作为Python27
- 在命令提示符下,我转到特定虚拟环境文件夹并尝试pip install package_name
- 显示错误如下
Fatal Python error: Py_Initialize: unable to load the file system codec
File "D:\Users\username\venv_name\lib\encodings\__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Current thread 0x0000d85c (most recent call first):
我需要在venv中安装软件包,或者将已经安装的软件包转移到venv中。
谢谢
3条答案
按热度按时间ktca8awb1#
为了将包安装到虚拟环境中,您需要首先将其添加到PyCharm中,并将其用作解释器。
您可以通过以下方式添加venv:
通过进入设置(Windows中的Ctrl+Alt+s或Macos中的command+)
单击项目解释器旁边的****图标,然后选择添加。
虚拟环境的浏览器。
之后,您现在可以通过单击防毒墙网络版图标将软件包安装到虚拟环境中。
此外,您不能通过转到其目录来在虚拟环境中安装软件包,您需要首先通过以下方式激活它:
Windows:
c:\path\to\your\venv\Scripts\activate.bat
Linux/Mac:
source path/to/your/venv/bin/activate
v64noz0r2#
我不知道如何解决你的问题,因为我自己不用pycharm,但我可以告诉你是什么造成的。
看起来你正在尝试在Python 3下运行Python 2代码。对你来说失败的
raise
表达式在Python 2下有效,但在Python 3下无效。因此,SyntaxError
。因此,您可能正在使用来自virtualenv的源文件(请参阅...\venv_name\...
路径?),但在Python 3解释器中执行它们。91zkwejq3#
从另一个SO帖子来看,问题是PYTHONPATH。清除它,您应该可以使用2和3。