获取 Python 文件的 requirements.txt 并将其安装到 virtualenv 中

问题描述

我需要将以下软件包安装到我的虚拟环境中以进行应用程序部署。这是他们在我的应用文件顶部读取的方式:

import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_bootstrap_components as dbc
from dash.dependencies import Input,Output

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime,timedelta,date
from dateutil.relativedelta import relativedelta
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from scipy import stats
from sklearn import metrics
import plotly.express as px
import plotly.graph_objects as go
import plotly.figure_factory as ff
import statsmodels.api as sm

我不知道如何安装那些写着“from x import y,z”的。我也更喜欢做一些更全局的事情(?),而不是一个一个地安装到 virtualenv 中。

据我所知,pip freeze > requirements.txt 命令仅根据手动安装到 virtualenv 中的内容生成需求文件。我宁愿把一些东西放在一起,查看我的应用程序文件并基于它生成一个 requirements.txt,然后将 requirements.txt 的内容直接安装到 virtualenv 中,而不是一个一个地安装每个包。>

解决方法

from foo import bar 本质上等同于:

import foo
bar = foo.bar

它只是导入模块,然后将它的一些变量加载到作用域中。因此,from scipy import stats 将位于 scipy 模块中。至于自动生成 requirements.txt,这就是 pipreqs 的用途。

,

我安装了pipreqs然后使用

pipreqs .

在包含应用程序的文件夹的目录中时从命令行。这生成了一个包含所有正确包的 requirements.txt。仍在努力将 requirements.txt 安装到 virtualenv 中,但在其他地方已多次回答。

编辑:使用以下命令将 requirements.txt 安装到 virtualenv 中:

pip install -r requirements.txt

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...