问题描述
我需要将以下软件包安装到我的虚拟环境中以进行应用程序部署。这是他们在我的应用文件顶部读取的方式:
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