在开发我的应用程序时,我没有使用环境。现在我想使用一个并在#include <QThread>
#include <QApplication>
#include <QSplashScreen>
class MySplashScreen : public QSplashScreen
{
bool painted=false;
void paintEvent(QPaintEvent* e) override
{
QSplashScreen::paintEvent(e);
painted=true;
}
public:
void ensureFirstPaint() const
{
while(!painted)
{
QThread::usleep(1e3);
qApp->processEvents();
}
}
};
int main(int argc, char** argv)
{
QApplication a(argc,argv);
MySplashScreen splash;
splash.show();
splash.showMessage("Loading...");
splash.ensureFirstPaint();
QThread::usleep(5e6); // simulate slow loading process
splash.showMessage("Finished");
return a.exec();
}
文件中导出我的应用程序的所有依赖项,之后我可以使用它来构建一个docker镜像。
问题是,如果我创建一个环境然后用以下方法导出它:
environment.yml / requirements.txt
我在该文件中没有依赖项。 或者,如果我使用:
conda env export > environment.yml
我看到所有系统模块与我的项目无关。
我认为conda或pip有一些东西会遍历我目录中的所有文件,并将所有导入及其依赖项放在environment.yml / requirements.txt文件中。
我无法找到执行此操作的命令..
答案 0 :(得分:1)
您可以使用 virtualenv 将应用程序的pip环境与系统的其他部分隔离开来。使用:
data[1]
这将创建应用的虚拟环境。然后使用;
position
这将隔离您的点子环境。重新安装所有依赖项并运行pip freeze,您将只看到与项目相关的依赖项。
默认情况下,pip冻结会在系统上获取所有已安装的pip模块。如果您使用virtualenv然后安装依赖项,您的pip模块将驻留在您的应用程序文件夹中。
修改强> 我会根据您的评论推荐一个好的IDE,例如PyCharm。您可以按tutorial here设置venv并处理所有依赖项。完成后,您可以根据您的要求运行pip冻结.txt