manifiesto para python:python3.7-slim no encontrado: manifiesto desconocido cuando se construye desde Dockerfile

Estoy tratando de desplegar un pequeño script pitón usando Selenio en mi máquina virtual de GCP siguiendo este tutorial. Desafortunadamente, no puedo pasar el requirements.txt al construir la imagen del contenedor. De hecho, como se puede leer:

mikempc3@instance-1:~$ sudo docker pull python:3.7-slim
3.7-slim: Pulling from library/python
6ec8c9369e08: Already exists 
401b5acb42e6: Already exists 
2e487de6656a: Pull complete 
519de614852e: Pull complete 
a3d1a61e090c: Pull complete 
Digest: sha256:47081c7bca01b314e26c64d777970d46b2ad7049601a6f702d424881af9f2738
Status: Downloaded newer image for python:3.7-slim
docker.io/library/python:3.7-slim
mikempc3@instance-1:~$ sudo docker build --tag my-python-app:1 .
Sending build context to Docker daemon  387.1MB
Step 1/6 : FROM python:python3.7-slim
manifest for python:python3.7-slim not found: manifest unknown: manifest unknown

mikempc3@instance-1:~$ sudo docker build --tag my-python-app:1 .
Sending build context to Docker daemon  387.1MB
Step 1/6 : FROM python:python3.7-slim
manifest for python:python3.7-slim not found: manifest unknown: manifest unknown

Aquí está mi archivo requirements.txt:

selenium
pandas
numpy
requests

Y aquí está el archivo que estoy tratando de contener:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import ElementClickInterceptedException
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.chrome.options import Options



import pandas as pd
import numpy as np

from collections import defaultdict
import json

import time

import requests
from requests.exceptions import ConnectionError

# Define Browser Options
chrome_options = Options()
chrome_options.add_argument("--headless") # Hides the browser window

# Reference the local Chromedriver instance
chrome_path = r"C:Programschromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_path, options=chrome_options)

df = pd.read_csv('path/to/file')    

tradable = ()
print(len(df('Ticker')))
for ticker in df('Ticker'):
    print("ticker: ", ticker)
    location = "https://www.etoro.com/markets/" + ticker.lower()
    try:
        request = requests.get(location)
        driver.get(location)
        time.sleep(2)
        current_url = driver.current_url
        if current_url == location:
            tradable.append(ticker)
        else:
            print("no page but request= ", request)
    except ConnectionError:
        print('Ticker isn't tradable')
    else:
        tradable.append(ticker)

Aquí está mi Dockerfile:

FROM python:python3.7-slim
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD python ./find_tradable.py

Aquí están mi nombre y mi versión:

mikempc3@instance-1:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Aquí está mi versión del núcleo de Linux:

mikempc3@instance-1:~$ uname -r
4.9.0-12-amd64

Problemas al adjuntar archivo cuando envío correo con función mail() +PHP +HTML

¡Holaa!

Estoy intentando enviar un correo adjuntando un archivo pero no hay manera.

Mi código HTML es el siguiente:

<?php
 
  $recipient_email = 'prueba@prueba.com';
  $subject = "Mensaje de prueba";
  $message = "Hola, esto es una prueba";

  if (isset($_FILES('csv'))) {
    $tmp_name = $_FILES('my_file')('tmp_name');
    $name = $_FILES('my_file')('name');
    $size = $_FILES('my_file')('size');
    $type = $_FILES('my_file')('type');
    $error = $_FILES('my_file')('error');

    $total = count($_FILES('csv')('name'));

    for( $i=0 ; $i < $total ; $i++ ) {
      $tmpFilePath = $_FILES('csv')('tmp_name')($i);

      $headers = "MIME-Version: 1.0rn";
      $headers .= "From:".$from_email."rn";
      $headers .= "Reply-To: ".$reply_to_email."rn";
      $headers .= "Content-Type: multipart/mixed;rn";
      $headers .= "From:" . "doc@gestio.aliance-brother.com";

      $mensaje .="Content-Type: $file_type; name=".$file_name."rn"; 
      $mensaje .="Content-Disposition: attachment; filename=".$file_name."rn"; 
      $mensaje .="Content-Transfer-Encoding: base64rn"; 
      $mensaje .="X-Attachment-Id: ".rand(1000, 99999)."rnrn";  
      $mensaje .= $encoded_content;

      mail($recipient_email, $subject, $mensaje, $headers);
      
    }

    header('Location: https://' . $servidor . '/home.php');

}

Sintáxicamente parece estar correcto, puesto que no peta por ningún lado, el problema es que no me llega ningún correo.

¿Alguien me puede echar una mano?
Gracias de antemano.

html – ¿Cómo se pueden superponer elementos y que no se desplacen cuando cambia la resolución?

Tengo un mapa de un país como fondo y quisiera poner por encima de él, íconos que destaquen puntos de interés y sus principales lugares y que al pasar el cursor sobre los íconos, el nombre el lugar y cuando le haga clic me enlace a otra página. Lo que no he podido hacer es que al cambiar la resolución para dispositivos más pequeños, los íconos se queden en el punto justo del mapa que les corresponde y al cambiar la resolución los íconos se descuadran, es decir no puedo hacer que mantengan la posición.

Este es un ejemplo que está hecho con un plugin de wordpress, pero se asemeja mucho a lo que estoy intentando hacer https://www.mountainbikeworldwide.com/#rev_slider_10_2_wrapper

Esta es mi estructura:

<section class="map">
    <div class="container-fluid">
        <div class="regiones">
            <a href="#regiones"><img src="/img/regiones.png" alt="" class="img-fluid"></a>
        </div>
        <div class="container-fluid">
            <a href="#ciudad-1" class="pointer-map ciudad-1">X</a>
            <a href="#ciudad-2" class="pointer-map ciudad-2">X</a>
            <a href="#ciudad-3" class="pointer-map ciudad-3">X</a>
            <a href="#ciudad-4" class="pointer-map ciudad-4">X</a>
            <a href="#ciudad-5" class="pointer-map ciudad-5">X</a>
            <a href="#ciudad-6" class="pointer-map ciudad-6">X</a>
        </div>
    </div>
</section>

Y el CSS

.map {
    position: relative;
    height: 600px;
    display: block;
}

.regiones {
    position: absolute;
    min-height: 600px;
    z-index: 9;
    width: 100%;
    text-align: center;
}

.pointer-map {
    position: absolute;
    z-index: 10;
    font-size: 30px;
    font-weight: 600;
    font-family: fantasy;
    color: #fff;
    display: block;
    text-shadow: 0 0 3px black;
}

.ciudad-1 {
    top: 70%;
    left: 63%;
}

y así con las demás ciudades.

php – Mostrar alerta cuando el usuario o la contraseña no sea correcta

Tengo que validar dos datos: Cedula y password. Tengo un required para cada campo y así obligo a que se tengan que llenar los campos pero no sé como mostrar un mensaje que indique si el usuario no existe o la contraseña es incorrecta, Espero su respuesta. Adjunto código html.

<div class="modal-dialog text-center modal-sm shadow-lg">
        <div class="main-section">
            <div class="modal-content">
               <div class="col-12 user-img">
                   <img src="https://es.stackoverflow.com/img/usuario.png" alt="usuario">
               </div>
                <form class="col-12" method="POST" id="formlg">
                    <div class="form-group">
                        <input type="text" class="form-control" placeholder="Cédula" id="cedula" name="cedula" required="" autofocus>
                    </div>
                    <div class="form-group">
                        <input type="password" class="form-control" placeholder="Contraseña" id="pass" name="pass" required="">
                    </div>
                   
                    <div class="form-group">
                    
                    <button type="submit"  class="btn btn-outline-primary">Iniciar Sesión</button>
                    </div>
                </form>
            </div>
        </div>
        </div>

c# – ¿como pasar json a modelo cuando una propiedad es un numero?

Hola que tal tengo el siguiente problema estoy utilizando el siguiente modelo, y en la clase orden se utiliza una propiedad llamada SubItems SubItems y en esta el detalle es que en mi json estos objetos son nombrados con valores numericos secunenciales y me parece no puedo usarlos asi entonces me da un problema que no he logrado resolver, tomando en cuenta que estos objetos pueden ser de n cantidad es decir 1:{},2{},3{},4{} y asi sucesivamente.
Mi pregunta como tal es si hay alguna forma de tomar el objeto que tiene un numero por nombre y volverlo arreglo es decir en ves de subItems:{1:{},2:{},3:{}} algo asi subItems:({},{},{})

 public class Tax1    {
        public string TAXID { get; set; } 
        public string TAXNAME { get; set; } 
        public string TAXRATE { get; set; } 
        public string TAXEXCLUSIVE { get; set; } 
        public string TAXINCLUSIVE { get; set; } 

    }

    public class Tax12    {
        public string TAXID { get; set; } 
        public string TAXNAME { get; set; } 
        public string TAXRATE { get; set; } 
        public string TAXEXCLUSIVE { get; set; } 
        public string TAXINCLUSIVE { get; set; } 

    }

    public class 1    {
        public string Name { get; set; } 
        public Tax12 tax1 { get; set; } 
        public string tax2 { get; set; } 
        public int Price { get; set; } 
        public int Quantity { get; set; } 
        public int ModCodeId { get; set; } 
        public int MenuItemId { get; set; } 
        public int ModGroupId { get; set; } 
        public int PriceTotal { get; set; } 
        public int Quantity_inicial { get; set; } 

    }

    public class Tax13    {
        public string TAXID { get; set; } 
        public string TAXNAME { get; set; } 
        public string TAXRATE { get; set; } 
        public string TAXEXCLUSIVE { get; set; } 
        public string TAXINCLUSIVE { get; set; } 

    }

    public class 2    {
        public string Name { get; set; } 
        public Tax13 tax1 { get; set; } 
        public string tax2 { get; set; } 
        public int Price { get; set; } 
        public int Quantity { get; set; } 
        public int ModCodeId { get; set; } 
        public int MenuItemId { get; set; } 
        public int ModGroupId { get; set; } 
        public int PriceTotal { get; set; } 
        public int Quantity_inicial { get; set; } 

    }

    public class 3    {
        public string Name { get; set; } 
        public int Price { get; set; } 
        public int Quantity { get; set; } 
        public int ModCodeId { get; set; } 
        public int MenuItemId { get; set; } 
        public int ModGroupId { get; set; } 
        public int PriceTotal { get; set; } 
        public int Quantity_inicial { get; set; } 

    }

    public class SubItems    {
        public 1 1 { get; set; } 
        public 2 2 { get; set; } 
        public 3 3 { get; set; } 

    }

    public class Orden    {
        public string Name { get; set; } 
        public Tax1 tax1 { get; set; } 
        public string tax2 { get; set; } 
        public string Notas { get; set; } 
        public double Price { get; set; } 
        public string Url_img { get; set; } 
        public int Quantity { get; set; } 
        public SubItems SubItems { get; set; } 
        public int comandado { get; set; } 
        public int MenuItemId { get; set; } 
        public double PriceTotal { get; set; } 
        public int Id_item_orden { get; set; } 

    }

    public class Cliente    {
        public string email { get; set; } 
        public string nombre { get; set; } 
        public string apellido { get; set; } 

    }

    public class Totales    {
        public string fee { get; set; } 
        public double impuesto { get; set; } 
        public string venta_neta { get; set; } 
        public string venta_total { get; set; } 

    }

    public class InfoLocal    {
        public int local { get; set; } 
        public string cadena { get; set; } 

    }

    public class Coordenadas    {
        public string latitud { get; set; } 
        public string longitud { get; set; } 

    }

    public class OrdenApp    {
        public string fee { get; set; } 
        public List<Orden> orden { get; set; } 
        public Cliente cliente { get; set; } 
        public Totales totales { get; set; } 
        public InfoLocal info_local { get; set; } 
        public Coordenadas coordenadas { get; set; } 
        public string modo_pedido { get; set; } 
        public string tiempo_entrega { get; set; } 

    }

    public class SubItem    {
        public int id { get; set; } 
        public int id_order { get; set; } 
        public int id_padre { get; set; } 
        public int MenuItemId { get; set; } 
        public int Quantity { get; set; } 
        public int Price { get; set; } 
        public int ModCodeId { get; set; } 
        public int ModGroupId { get; set; } 

    }

    public class Item    {
        public int id { get; set; } 
        public int id_order { get; set; } 
        public int id_padre { get; set; } 
        public int MenuItemId { get; set; } 
        public int Quantity { get; set; } 
        public double Price { get; set; } 
        public object ModCodeId { get; set; } 
        public object ModGroupId { get; set; } 
        public List<SubItem> SubItems { get; set; } 

    }

    public class Root    {
        public int id { get; set; } 
        public int id_sucursal { get; set; } 
        public int id_usuario { get; set; } 
        public int id_direccion_entrega { get; set; } 
        public int id_cadena { get; set; } 
        public int id_api { get; set; } 
        public int mode_api_id { get; set; } 
        public string cliid { get; set; } 
        public string FirstName { get; set; } 
        public string LastName { get; set; } 
        public string AddressLine1 { get; set; } 
        public string City { get; set; } 
        public string State { get; set; } 
        public string PhoneNumber { get; set; } 
        public string Note { get; set; } 
        public string Procesado { get; set; } 
        public object RespuestaATO { get; set; } 
        public string orden_app { get; set; }
        public OrdenApp orden { get; set; } 
        public object order_id { get; set; } 
        public string created_at { get; set; } 
        public string updated_at { get; set; } 
        public List<Item> items { get; set; } 

    }

Utilizo el siguiente metodo para deserilizar el json y me da problemas

     string cadenaRespuesta = response.Content.ReadAsStringAsync().Result;

               var ListaPedidos = JsonConvert.DeserializeObject<List<Root>>(cadenaRespuesta);
                
                foreach (var pedido in ListaPedidos)
                {
//justo en esta parte me da problemas pero solo cuando en el pedido hay SubItems
                    var ordenApp = JsonConvert.DeserializeObject<OrdenApp>(pedido.orden_app);
                    pedido.orden = ordenApp;
                }

javascript – Cuando selecciono un select, que se autocomplete un campo

Para cambiar un input debes modificar la propiedad value de éste. No required.

input.value = 'Some value';

El primer error que te sale es

“Uncaught ReferenceError: Contestado is not defined”

porque Contestado y Reagendado no son variables, te falta ponerlas entre comillas.

Otro error, los índices de los select empiezan por 0. En tu caso, el índice 0 es “Contestar”.

Y, por último, te recomendaría poner un primer valor por defecto al input igual que con el select para que al principio, cuando no se haya cambiado el select, el input tenga igualmente el valor "Contestado".

Aquí te dejo con los cambios.

<form>
    <label for="pais">Acción</label>
    <select name="cmb3" id="cmb3" required="required">
        <option value="CONTESTAR" selected>Contestar</option>
        <option value="REAGENDAR">Reagendar</option>
    </select>
    
    <input name="Estado" id="fe696" value="Contestado">
</form>

<script>
    const select = document.getElementById('cmb3');
    const input = document.getElementById('fe696');

    select.addEventListener('change', ()=> {
        if(select.selectedIndex === 0)
            select17.value = 'Contestado'; 

        else
            select17.value = 'Reagendado';
    });
</script>

Espero que sirva.

LM35 ARDUINO Cuando aplico calor la temperatura decrementa

Hola que tal buenas noches,bien he tenido un problema últimamente con el sensor LM35. Uno de los problemas era que la temperatura marcaba 30°, luego 29° e iba bajando hasta llegar a 0° luego subía y bajaba. De algún modo ya ahora se mantiene estable en 24 y 25 grados celsius. Sin embargo al momento de aplicar calor con algún encendedor, la temperatura en lugar de subir comienza a bajar de manera acelerada. Compre tres sensores de LM35 y con todos pasa exactamente lo mismo (cabe aclarar que me costo cada uno $35 mexicanos o 1.25$ dólares), he probado con una gran cantidad de códigos pero en todos sucede lo mismo. Actualmente utilizo el siguiente código:

const int sensorPin= A0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int value = analogRead(sensorPin);
  float millivolts = (value / 1023.0) * 5000;
  float celsius = millivolts / 10; 
  Serial.print(cel);
  Serial.println(" C");
  delay(1000);
}

Y el circuito como lo tengo conectado esta de la siguiente forma:
Circuito

y estos son los valores como se encuentran y después como comienza a bajar al momento de aplicar calor, muchas gracias.

Valores

python – Sublime text 3 crashea cuando ejecuto el codigo

estoy haciendo una especie de programa para probar lo que estoy aprendiendo, empeze ayer xd, pero cuando ejecuto esto en la consola del sublime, pongo 1 para que se ejecute la funcion cuenta atras, y cuando pongo cualquier cosa despues crashea, antes estaba la funcion sola (no la tenia ni como funcion, era todo el programa) y funcionaba bien (solo crasheava con numeros mas grandes que 1000-1500) Si podeis probarlo para ver si os crashea (yo le doy a tools>sublimeREPL>python>RUN current file) o decirme si esque hay algun problema en el codigo que no veo 🙂

while encendido:    
    print ("Pulsa 1 para una cuenta atras, escribe esc para salir")
    def cuentaatras(): #Cuenta atras
        bucle = True
        respuesta=input()
        print ("Escribe un numero aqui, si quieres salir escribe 'cerrar'")
        while bucle:
            if respuesta == "cerrar":
                bucle = False
                print ("Has cerrado el programa")
                break
            try:
                numero = int(respuesta)
            except ValueError:
                print ("Porfavor, escribe un argumento valido")
                continue
            if numero == int(respuesta):
                while numero > 0:
                    numero -= 1
                    print (numero)
    respuesta2 = input() #Aqui es donde se detecta que funcion ha sido seleccionada

    if respuesta2 == "esc":
        print ("Apagando...") 
        break
    try:    #Esto prueba que sean numeros, si es esc cierra el bucle, si son letras random reinicia el bucle para que vuelva a preguntar
        int(respuesta2)
    except ValueError:
        print ("Porfavor, inserte un valor valido")
        continue
    if int(respuesta2) == 1:
        operacion = cuentaatras()```

html – Como puedo quitar bordes blancos cuando hago scroll lateral en web móvil?

Estoy creando una web con html, css y bootstrap y la he subido a un servidor para hacer pruebas.
Des del navegador la visualización es correcta, cuando la veo con chrome en el modo móvil también se ve correctamente.
El problema es cuando la abro desde mi móvil. En un primer momento se ve correctamente, pero aparece una barra de scroll debajo y cuando desplazo hacia los laterales se queda un espacio blanco en la parte derecha.
Además, cuando la veo en horizontal desde el móvil se ven bordes blancos a los lados.
Adjunto imágenes.
Muchísimas gracias por las respuestas.

horizontal

vertical móvil

vertical móvil2

c# – Obtengo un error de Casteo cuando intento darle un color de fondo a cada una de mis ventanas en XAML con xamarin.forms

Actualmente quiero que cada una de las ventanas tenga una NavigationPage con un color de fondo diferente.

Este es el código que pongo en cada ventana.

 ((NavigationPage)App.Current.MainPage).BarBackgroundColor = Color.Black;

Pero cada vez que lo correo me sale el siguiente error:

System.InvalidCastException: ‘Specified cast is not valid.’