我在使用 PyCharm 时遇到问题。当我单击“工具”中的“运行 Django 控制台”或“运行管理.py 任务”时,我得到:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/home/vagrant/.pycharm_helpers/pycharm/django_manage_shell.py", line 46, in run
run_module(manage_file, None, '__main__', True)
File "/opt/python3.3/lib/python3.3/runpy.py", line 168, in run_module
mod_name, loader, code, fname = _get_module_details(mod_name)
File "/opt/python3.3/lib/python3.3/runpy.py", line 104, in _get_module_details
raise ImportError("No module named %s" % mod_name)
ImportError: No module named manage
我的项目和virtualenv位于vagrant中的虚拟机上。在 PyCharm 中,我将 ssh 连接和 python 解释器定制为 vagrant 。我在“设置”->“Python Interpeter”中看到了 virtualenv 的实际依赖关系。
当我单击“运行 Django 控制台”时,我看到命令:
vagrant:///home/username/vagrant/vm/home/vagrant/venv/mezza3.3/bin/python3.3 -u /home/vagrant/.pycharm_helpers/pydev/pydevconsole.py 0 0.
它正在通过我的主机终端工作。
现在,我使用“工具”中的“启动 SSH 会话”来连接到来宾 django shell。但我想使用主要功能。
我怎样才能解决这个问题?
谢谢!
环境:PyCharm 3.4.1;
Django 1.6.5;
蟒蛇3.3;主机\来宾操作系统是 ubuntu 12.04。
硬修复:
1)转到/home/vagrant/.pycharm_helpers/pycharm/;
2)打开django_manage_shell.py;
3)寻找方法run(working_dir);
4)在方法下面插入字符串
if os.getenv('PYCHARM_WORKING_DIRECTORY'):
working_dir = os.getenv('PYCHARM_WORKING_DIRECTORY')
5)保存文件;
6) 转到“文件”->“设置”->“控制台”->“Django 控制台...”;
7)添加“环境变量”:
PYCHARM_WORKING_DIRECTORY = <path_to_guest_root_project_folder>
.