【问题标题】:PyCharm Vagrant SSH custom commandPyCharm Vagrant SSH 自定义命令
【发布时间】:2016-06-23 00:55:15
【问题描述】:

我已经使用 Vagrant 在 PyCharm 中成功运行了一个 Django 应用程序(我自己按照 Django 官方教程制作的)。我设置了自定义远程 Python 解释器,然后创建了自定义 Django 运行配置。

如果我要在没有 PyCharm 的情况下运行它,我会这样做:

vagrant up
vagrant ssh
cd /vagrant/project
python manage.py runserver 0.0.0.0:8000

这一切都运行良好,并且可以使用 PyCharm 调试应用程序。现在,我得到了一个真正的代码和一个真正的应用程序。我可以自己在终端运行它:

vagrant up
vagrant ssh
prepare-env
cd /vagrant/project
python manage.py runserver 0.0.0.0:8000

在通过 SSH 连接后注意 prepare-env。如何在 PyCharm 运行配置中指定它? “自定义运行命令”和“解释器选项”都不能解决问题,因为它们将命令放在错误的位置。它必须在连接后运行。

PyCharm 在运行时尝试以下命令:

ssh://vagrant@127.0.0.1:2222/usr/bin/python -u /vagrant/project/manage.py runserver 0.0.0.0:8000

不幸的是,这不起作用,项目也没有启动。这是当前的配置:

【问题讨论】:

  • prepare-env 是做什么的?创建一个虚拟环境?当我使用 PyCharm 运行 Django 应用程序时,我将 python 解释器设置为 virtualenv 中包含的 python,仅此而已......
  • @Erodriguez 这是一个自定义 bash 脚本

标签: python django vagrant pycharm jetbrains-ide


【解决方案1】:

Vagrant 在配置你的盒子方面非常强大。有一个shell provisioner 应该适合您的需求。它可能看起来像这样:

Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: "prepare-env"
end

更新

如果您遇到符号链接问题,请尝试使用--always-copy 作为virtualenv 的参数

【讨论】:

    猜你喜欢
    • 2017-12-06
    • 1970-01-01
    • 2018-03-02
    • 2014-05-21
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2014-09-19
    • 2014-04-26
    相关资源
    最近更新 更多