将Python文件转换为.exe包含库

时间:2019-08-01 22:44:20

标签: python selenium pip exe

我制作了一个脚本,该脚本使用Selenium自动执行某些过程,而另一个脚本用于存储密码和电子邮件等变量。

我该如何将其全部转换为.exe安装程序,这样人们就不必下载selenium,python等进行设置。此人必须能够仍然编辑保存详细信息的一个文件,这一点很重要。

非常感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您可以使用pyinstaller进行此操作。这些命令必须在Windows操作系统上运行。

import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import TextField from "@material-ui/core/TextField";
import MenuItem from "@material-ui/core/MenuItem";
import FormControl from "@material-ui/core/FormControl";
import InputLabel from "@material-ui/core/InputLabel";
import Input from "@material-ui/core/Input";
import Select from "@material-ui/core/Select";

const useStyles = makeStyles({
  formControl: {
    "label + &": {
      marginTop: 0
    }
  }
});

const currencies = [
  {
    value: "USD",
    label: "$"
  },
  {
    value: "EUR",
    label: "€"
  },
  {
    value: "BTC",
    label: "฿"
  },
  {
    value: "JPY",
    label: "¥"
  }
];

const InputNoMargin = props => {
  const inputClasses = useStyles(props);
  return <Input {...props} classes={inputClasses} />;
};
export default function TextFields() {
  const inputClasses = useStyles();
  const [values, setValues] = React.useState({
    name: "Cat in the Hat",
    currency: "EUR"
  });

  const handleChange = name => event => {
    setValues({ ...values, [name]: event.target.value });
  };

  return (
    <form>
      <TextField
        id="standard-name"
        label="Name"
        value={values.name}
        InputProps={{ classes: inputClasses }}
        onChange={handleChange("name")}
        margin="normal"
      />
      <br />
      <TextField
        id="standard-select-currency"
        select
        label="Select"
        value={values.currency}
        onChange={handleChange("currency")}
        InputProps={{ classes: inputClasses }}
        helperText="Please select your currency"
        margin="normal"
      >
        {currencies.map(option => (
          <MenuItem key={option.value} value={option.value}>
            {option.label}
          </MenuItem>
        ))}
      </TextField>
      <br />
      <FormControl>
        <InputLabel htmlFor="composed-select">Composed Select</InputLabel>
        <Select
          value={values.currency}
          onChange={handleChange("currency")}
          inputProps={{ id: "composed-select", name: "composed-select" }}
          input={<InputNoMargin />}
        >
          {currencies.map(option => (
            <MenuItem key={option.value} value={option.value}>
              {option.label}
            </MenuItem>
          ))}
        </Select>
      </FormControl>
    </form>
  );
}

答案 1 :(得分:0)

您可以通过spec文件添加硒和浏览器驱动程序。

a = Analysis(['myscript.py'],
         pathex=['path\\to\\my\\script'],
         binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ],
         datas=None,

然后使用以下规范文件运行pyinstaller:pyinstaller myscript.spec myscript.py