## Problem Description and Formulation

The fruit store has a certain quantity of lemons, mangos, and pears, and they want to maximize their profit by preparing two types of packages: mango-lovers packages and regular packages. Each package has a specific composition of fruits and yields a certain profit.

Let's denote:
- \(x\) as the number of mango-lovers packages,
- \(y\) as the number of regular packages.

The objective is to maximize the total profit \(P = 5x + 6.5y\).

The constraints are based on the availability of each fruit:
- Lemons: \(4x + 3y \leq 30\),
- Mangos: \(8x + 5y \leq 40\),
- Pears: \(10y \leq 50\).

Also, \(x \geq 0\) and \(y \geq 0\), since the store cannot prepare a negative number of packages.

## Conversion to Gurobi Code

We will use the Gurobi library in Python to solve this linear programming problem.

```python
import gurobi

# Create a new model
model = gurobi.Model()

# Define the variables
x = model.addVar(name="mango_lovers_packages", lb=0, vtype=gurobi.GRB.CONTINUOUS)
y = model.addVar(name="regular_packages", lb=0, vtype=gurobi.GRB.CONTINUOUS)

# Define the objective function
model.setObjective(5 * x + 6.5 * y, gurobi.GRB.MAXIMIZE)

# Add constraints
model.addConstr(4 * x + 3 * y <= 30, name="lemons_constraint")
model.addConstr(8 * x + 5 * y <= 40, name="mangos_constraint")
model.addConstr(10 * y <= 50, name="pears_constraint")

# Optimize the model
model.optimize()

# Print the results
if model.status == gurobi.GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Mango-lovers packages: {x.varValue}")
    print(f"Regular packages: {y.varValue}")
    print(f"Max Profit: {model.objVal}")
else:
    print("No optimal solution found.")
```

This code defines the problem in Gurobi, solves it, and then prints out the optimal quantities of each package type and the maximum profit achievable. If no optimal solution is found (for example, if the problem is infeasible), it will indicate that as well.